我试图找到有关用作消除歧义器的模板关键字的任何信息,但没有关于此的信息。可能我在搜索错误的关键字,但没有像.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