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;
4 个解决方案
#1
能告诉我你这是要干嘛吗?
#2
类型要匹配,语法要正确。
int (stu::*num1)() = &stu::outnum;
#3
你的成员函数outnum不带参数,而你定义的函数指针却带个int参数,不匹配
#4
明白了,非常感谢!
#1
能告诉我你这是要干嘛吗?
#2
类型要匹配,语法要正确。
int (stu::*num1)() = &stu::outnum;
#3
你的成员函数outnum不带参数,而你定义的函数指针却带个int参数,不匹配
#4
明白了,非常感谢!