我試圖找到有關用作消除歧義器的模板關鍵字的任何信息,但沒有關於此的信息。可能我在搜索錯誤的關鍵字,但沒有像.template或 - >模板標準。谷歌只顯示來自不同論壇的海灣合作委員會問題,但沒有真正解釋它的用途。模板歧義消除器
這樣的代碼在第11行(GCC上)沒有模板關鍵字的情況下編譯失敗,但我不太確定這是否符合標準。
template<typename B>
struct S1
{
template<typename T> void test() {}
};
template<typename T>
struct S2
{
S2()
{
S1<T>().template test<int>();
}
};
int main()
{
S2<int>();
}
所以我的問題是:爲什麼這裏使用模板的關鍵字,什麼樣的模糊性是不存在該關鍵字,我在哪裏可以閱讀有關(我真的很感激鏈接到標準)。
謝謝。
@Prasoon:我知道在哪裏使用'template'-keyword是很多問題的答案,但我找不到任何問題直接詢問它。 – 2010-11-02 11:26:20
@ Space_C0wb0y:對不起,我刪除了我以前的評論。 – 2010-11-02 11:28:19
您可能也想閱讀:http://stackoverflow.com/questions/3786360/confusing-template-error/3786726#3786726 – 2010-11-02 22:34:58