__stdcall typedef g ++问题

此代码编译(如我所料):

typedef void __stdcall (*Func)(); struct A { static void __stdcall f() { } }; int main() { Func p = A::f; } 

但是这个:

 struct A { typedef void __stdcall (*Func)(); static void __stdcall f() { } }; int main() { A::Func p = A::f; } 

失败并不是非常有用的错误消息:

 error: invalid conversion from `void (*)()' to `void (*)()' 

我在Vista下使用g ++ 3.4.2(我知道,这是古老的,但我现在不能访问任何其他的环境)。 显然我在这里失去了一些东西。 任何帮助,将不胜感激。

Solutions Collecting From Web of "__stdcall typedef g ++问题"