读书人

一个关于指向类成员函数的小疑点?新手

发布时间: 2013-04-21 21:18:07 作者: rapoo

一个关于指向类成员函数的小问题??新手求解原因和讲解-

error C2440: “=”: 无法从
“int (__thiscall stu::* )(void)”转换为“int (__thiscall stu::* )(int)”


IntelliSense: 不能将 "int (stu::*)()" 类型的值分配到 "int (stu::*)(int)" 类型的实体





class stu
{
private:
int num;
char name[10];
Date bir;
public:
stu(int n,char *nam,Date b)
{
num = n;
strcpy (name , nam);
bir = b;
}
stu(){}
int outnum()
{
return num;
}
};

void mian()
{
stu s[2];
int (stu::*num1)(int);
num1 = stu :: outnum;

[解决办法]
引用:
error C2440: “=”: 无法从
“int (__thiscall stu::* )(void)”转换为“int (__thiscall stu::* )(int)”


IntelliSense: 不能将 "int (stu::*)()" 类型的值分配到 "int (stu::*)(int)" 类型的实体







C/C++ code
?



……
你的成员函数outnum不带参数,而你定义的函数指针却带个int参数,不匹配

读书人网 >C++

热点推荐