2017-07-20 38 views
0

有沒有什麼辦法(即使是一個特定於gcc-7的hacky方式,使用-fconcepts)來測試是否定義了一個函數模板而不必提供參數,就像使用decltypestd::result_of功能模板的存在測試

例如,我想實現類似這樣:

struct A { auto f(auto...); }; 

template<class T> requires X<T::f>() 
void f(T, auto...); 

auto z = f(A{}, 0, "", 'a'); 

回答

1
template<class T> 
concept bool X() 
{ 
    return requires 
    { T::f; }; 
} 

我想有時候闡明你的問題爲別人而想出來爲自己的最佳方式。