【发布时间】:2018-03-18 23:29:43
【问题描述】:
我定义了
int(*Functions[3])();
int select(){
cout<<"SELECT!";
getchar();
}
现在我想为“功能”分配一个功能,当我这样做时:
Functions[0]=select;
Functions[0];
它有效,但我想从我自己的对象中分配函数“选择”
class worker{
HERE DEFINED FUNCTION
}
worker object1;
Functions[0]=object1.select;
它不起作用。 "使用 '&' 创建指向成员的指针", " '=': 无法从 'int(_thiscall worker::)(void)' 转换为 'int(_cdecl)(void)' "
我不知道使用之间的区别
select();
object1.select();
【问题讨论】:
-
不能使用指向非成员函数的指针。
-
为什么不呢?你能解释一下吗?
-
你能用指向int的指针指向一个字符串吗?
标签: c++ function class pointers