2017-07-14 60 views
-1

我有以下問題:我必須用供應商的一些頭文件構建一個DLL。在那些存儲WINAPI-Functionpointers的頭文件中有一些類型定義。在結構中存儲WINAPI函數指針

例子:

typedef struct { 
    int(WINAPI *myFunc)(int, int); 
} 

然而,VS2015總是強調了星號( 「*」)稱,預計的 「)」。 我不能改變存儲在這些指針中的函數,所以我必須解決這個問題。

任何人都知道這個解決方案?

+0

但編譯器在這裏好嗎?除了['C4094'](https://msdn.microsoft.com/en-us/library/7y0f9tby.aspx)警告,因爲您有未命名的結構。如果是的話 - 沒有任何問題 – RbMm

+3

你有這些聲明之前包括'windows.h'? –

回答

1

由於WINAPI宏在Windows.h中定義,所以我只是忘了包含它。

結果:包括-Header似乎解決了這個問題。

+0

這並不是真正的答案...... –

+1

@FelixPalmen這是一個自我回答。所以我想這很好。其他選項將一起刪除問題。但它仍然存在,因爲這是許多程序員所做的常見錯誤。 –

+0

@AjayBrahmakshatriya我認爲它應該至少*解釋'WINAPI'是一個在'windows.h'中定義的宏。但是,這是一個微不足道的錯誤,無論如何應該被關閉*不能再生產* –