任何人都可以告訴我內聯函數和靜態內聯函數有什麼區別嗎?內聯函數和靜態內聯函數之間的區別
在哪些情況下我應該更喜歡靜態內聯,而不是內聯?
我在問這個問題,因爲我有一個內聯函數,在鏈接期間我正面臨編譯問題(relocation error:... symbol has been discarded with discarded section ...
)。我使它成爲一個正常的功能,它工作。 現在我的一些老年人告訴我用靜態內聯嘗試。 以下是我的功能:
inline void wizSendNotifier (const char* nn_name, bpDU* arg=0, int aspect = -1)
{
wizuiNotifier* notifier = ::wizNtrKit.getNotifier (nn_name);
notifier->notify (arg, aspect);
}
而這不屬於課內。這是在一個頭文件中!
我想對一個靜態函數的調用應該只在它定義的特定TU中完成。
由於我的函數是在一個頭文件中,並且如果我將它設置爲靜態的,是否會將包含該頭文件的靜態函數用於該翻譯單元的情況包含在哪裏?
這個函數在類中嗎?也請張貼其聲明。 – anatolyg
是':: wizNtrKit'靜態對象嗎?它的聯繫是什麼? – Walter
此外,功能在哪裏出現?頭文件,源文件?有多少個源文件包含它? –