5
我想const_value_type
是const即使T
是一個指針,與std::add_const<>
所以,我想這樣的事情是不可能的:如何添加常量預選賽模板
template<typename value_type, bool is_pointer>
struct add_const_pointer{
typedef const value_type type;
};
template<typename value_type>
struct add_const_pointer<value_type, true>{
typedef const value_type *type;
};
template<typename T>
class Foo
{
public:
typedef T value_type;
typedef add_const_pointer<std::remove_pointer<T>, std::is_pointer<T>::value>::type const_value_type;
// here I get compiler error: missing type specifier - int assumed.
}
,但我得到的編譯器錯誤:缺少類型說明符 - 假定爲int。
非常感謝您......現在我不知道爲什麼我要加類型名 – Quest 2014-11-20 17:21:16
@Quest [這](http://stackoverflow.com/q/ 610245/1870232)將是有幫助的。 – P0W 2014-11-20 17:23:41