首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-21 
一个关于指向类成员函数的小问题??新手求解原因和讲解-error C2440: “”: 无法从“int (__thiscall stu::*

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

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参数,不匹配

热点排行