[英]__stdcall typedef g++ problem
這段代碼會編譯(正如我期望的那樣):
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(我知道這很古老,但是我現在無法訪問任何其他環境)。 顯然我在這里缺少什么。 任何幫助,將不勝感激。
語法為void(__stdcall *)()
,而不是void __stdcall (*)()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.