VC++不支持默認模板參數參數嗎?這個簡單的代碼:VC++中的默認模板參數參數
template <typename T=int>
class X
{
};
X x;
給我'error C2955: 'X' : use of class template requires template argument list
'。然而,沒有關於模板聲明的投訴。
我在這裏錯過了什麼?一些編譯器切換可能?
VC++不支持默認模板參數參數嗎?這個簡單的代碼:VC++中的默認模板參數參數
template <typename T=int>
class X
{
};
X x;
給我'error C2955: 'X' : use of class template requires template argument list
'。然而,沒有關於模板聲明的投訴。
我在這裏錯過了什麼?一些編譯器切換可能?
我覺得你還是必須指定一個空的模板列表,或使用typedef:
template <typename T=int>
class X
{
};
X<> x;
typedef X<> XX;
XX x;
你的問題已經answered very well。但是,我想指出的是,無論何時您問自己是否是編譯器,都可以將代碼剪切到Comeau's online compiler。 Comeau被公認爲是最符合標準的C++編譯器,並且具有出色的錯誤消息。因爲編譯器不需要花費太多的代價,所以如果你想在你的機器上使用它的便利性,價格不應該受到影響。