2017-05-25 59 views
1

有我從具有宏纏身的輸出類型的庫使用功能:我可以在沒有任何實例變量的情況下使用decltype嗎?

STRANGE_MACRO(something) the_function(Type1 t, Type2 u); 

我想定義一個變量,以此回報值,而不首先聲明Type1Type2

我希望像這樣的工作:

decltype(the_function(Type1, Type2)) return_value; 

但它不工作。我能否在不考慮宏定義的內容的情況下做到這一點,而不必首先聲明幾個變量?

回答

8

這正是std::declval是:

decltype(the_function(std::declval<Type1>(), std::declval<Type2>())) return_value; 
相關問題