2017-07-05 97 views
-2

我有對動態加載的dll函數的引用。在給他們打電話之前,我需要使通用功能比較它們不等於null?如何在我的情況下定義未定義的類型參數?未定義類型指針的傳遞函數參數

我做的:

boolean canLoad(void value) 
{ 
    if (!value) 
    { 
     LogIt("could not locate the function"); 
     return false; 
    } 
    else 
     return true; 
} 

但是編譯器不開心void

+0

像'模板布爾canLoad(T *值){return value!= nullptr; }':http://ideone.com/rg0Bli – mch

回答

3

void裝置沒有類型或參數列表沒有參數。如果你想要一個通用指針,那麼這是void *

最好是有模板作爲代替,這將使它更加類型安全。

而且,最好是明確的(即value == nullptr爲條件,雖然這是一種主觀的),並使用合適的標準類型(是什麼boolean?)

+0

我最近在討論中使用了相同的參數,但是tbh我想知道在這種情況下模板比'void *'方法更安全嗎? – user463035818