提问人:lequinne 提问时间:4/14/2023 更新时间:4/14/2023 访问量:22
专门化模板参数的嵌套模板时出现 C++ 语法错误 [duplicate]
c++ syntax error when specializing nested template of a template parameter [duplicate]
问:
这是我想做的:
template<typename T, int I>
class A {
public:
using CA = T::C<I>;
};
class B {
public:
template<int I>
struct C {};
};
int main()
{
A<B, 1> a;
return 0;
};
然而,莫名其妙地(对我来说),这是一个语法错误——在“using UA =”行的“<”之前“缺少';”。尝试了很多变化,但无法弄清楚缺少什么。谢谢
答:
0赞
lequinne
4/14/2023
#1
更正的语法:
使用 UA = T::template U;
看起来这实际上已经非常详细地回答了之前在我必须在哪里以及为什么必须放置“模板”和“typename”关键字?
谢谢大家。
评论