我一直在努力使指向做这样的事情(视觉C++)的方法的指针函数指针的静态方法这样的:指向没有静态方法
struct Dx
{
int SomeMethod()
{
return 4;
}
};
struct Dy
{
static int(*pSomeMethod)();
};
int(Dy::*pSomeMethod)() = (int(Dy::*)())&Dx::SomeMethod;
到目前为止好,这个编译没有问题,但如果我尝试打电话给她:
Dy::pSomeMethod();
钍Ë编译器返回我:
Error 1 error LNK2001: external symbol "public: static int (__stdcall * Dy::pSomeMethod) (void)" (? [email protected]@@2P6GHXZA) unresolved
我不明白,因为它不是想pSomeMethod
他是不是在SomeMethod
指点?
你不明白一个函数指针和一个类的方法指针之间的根本区别。他们是两个完全不同的东西,你不能在两者之间进行转换。您也不能将一个类的类方法指针转换为另一个类的类方法指针。 –