我有一个带有一个类和几个声明和非静态成员函数的头文件,如下所示:
//foo.h
...
#include <bar.h>
class foo
{
...
public:
void myFunction();
};
以及带有结构和类的头文件,例如:
//bar.h
...
struct baz
{
class foo;
...
void (foo::*functionPointer)() = NULL;
}
class bar
{
...
public:
static myOtherFunction();
};
我想解决 bar.cpp 的静态函数“myOtherFunction”中的函数指针,例如:
void bar::myOtherFunction()
{
...
baz b = baz();
b.functionPointer = &foo::myFunction;
}
但这给我一个编译器错误:
bar.cpp:247:22: error: cannot convert 'void (foo::*)()' to 'void baz::foo::*)()' in assignment
b.functionPointer = &foo*:myFunction;
Error compiling
可以肯定的是,对于任何有 c/c++ 经验的人来说,这都是一个明显的错误,但现在我被困住了,非常感谢一些帮助。谢谢...