类声明:
class Base
{
public:
void fun(int n);
void fun(char c);
}
类定义:
Base::fun(int n)
{
//do staff;
}
Base::fun(char c)
{
int n = (int)c;
Base::fun(n);
}
如上面所示,源代码不是这个,只是简单地表达我的意思。源代码中也是重载函数之间的调用。我用类名::成员函数名或者this->fun(n),编译器都报错,“unable to match function definition to an existing declaration”,找不到这个函数的定义。同一个类应该如何调用?
前面网友提醒,定义时要加返回类型,源代码中有,问题仍存在。
类定义:
void Base::fun(int n)
{
//do staff;
}
void Base::fun(char c)
{
int n = (int)c;
Base::fun(n);
}
在类外定义函数,也要加上返回值类型的,上面的没有加,所以相当于没有定义,只有声明。还有类定义后面要加分号。
#include <iostream>恩,写问题的时候疏忽了,源代码中有加,还是会出现无法调用的问题
追答刚才补充了一下,你复制上面的程序试试看能不能运行。
追问恩,试了可以,应该是我其他地方的问题,我再查查