缺少的默認模板參數,我有這樣一個類:解決方法在Visual C++ 2012
template <class Object = NullObject>
class MyClass : OptimizedStorage<Object> {
...
public:
//Cannot do this in Visual studio 2012
template <class Object2 = Object,
class = enable_if<!is_same<Object2, NullObject>::value>>
Object & get() const {
return this->object_;
}
}
有誰知道:
- 具有該界面中的解決方法。
- 一些其他的解決方法,即使它使事情變得更加骯髒,仍然允許我在潛在對象存在的情況下使用
get()
。
問候
您可以使用'的std :: enable_if'上返回類型。 – Jarod42
順便說一句,第二個模板參數應該是'class = typename enable_if <!is_same :: value> :: type' –
Jarod42