1
我想要得到的std :: true_type如果以下表達式編譯:SFINAE檢查是否表達編譯並返回的std :: true_type
template<typename T>
static constexpr std::true_type check(T*) ??????
std::declval<T>().func_name(std::declval<Args>()...) // method to check for
和std :: false_type否則我通常用做
template<typename>
static constexpr std::false_type check(...);
我搜索類似於enable_if的東西,如果表達式編譯,它返回一個常量類型。似乎很容易,但打破我的頭:-)
'decltype(STD :: declval().func_name(STD :: declval () ...),void(),std :: true_type {})' –
是的,這樣的工作,但從來沒有見過一個decltype與3 parms之前...我會尋找手冊。謝謝!讓它成爲答案,我可以接受! – Klaus
@Klaus那些是'運營商,'不是多個參數。 – Yakk