【发布时间】:2011-08-25 16:33:50
【问题描述】:
我想要一个类,它有一个指向函数的指针作为成员
这里是函数指针:
typedef double (*Function)(double);
这是一个符合函数指针定义的函数:
double f1(double x)
{
return 0;
}
这是类定义:
class IntegrFunction
{
public:
Function* function;
};
在主函数的某个地方我想做这样的事情:
IntegrFunction func1;
func1.function = f1;
但是,这段代码不起作用。
是否可以为类成员分配一个指向全局函数的函数指针,如上所述?还是我必须更改函数指针定义中的某些内容?
谢谢,
【问题讨论】:
-
在什么情况下不起作用?
-
它是如何“不工作”的?你得到一个编译器错误吗?如果有,是什么?
-
如果您提供一个完整的示例,我们可能更容易找到答案。您已经如此接近了,只需多写几行即可完成。另外,您能告诉我们您所说的“不起作用”是什么意思吗?您是否从编译器中收到错误消息?链接器?您的运行时行为是否与您的预期不同?
标签: c++ class function-pointers global