我有一個功能模板,必須只允許某些類型。我見過其他問題,但他們使用boost和primitve類型。在這種情況下,沒有提升,並且它是用戶定義的類。功能模板,不允許某些類型
例:
template<typename T>
myfunc(T&)
{ ... }
template<>
myfunc(Foo&)
{
static_assert(false, "You cannot use myfunc with Foo");
}
問題是static_assert
獲取不管我是否調用myfunc
與Foo
對象或不叫。
我只是想要一些編譯停止myfunc
與Foo
調用的方式。
如何實現此功能?
['std :: enable_if'](http://en.cppreference.com/w/cpp/types/enable_if) – 2012-08-03 16:03:37
你的函數沒有返回類型... – 2012-08-03 16:04:28