gpt4 book ai didi

c++ - 模板类中的模板函数

转载 作者:可可西里 更新时间:2023-11-01 18:16:56 32 4
gpt4 key购买 nike

<分区>

template <typename T>
class Foo {
public:
template <int x>
void bar () {}
};

以下编译:

void fooBar ()
{
Foo<int> f;
f.bar<1>();
}

但以下内容没有(在带有 -std=c++14 的 gcc 5.4.0 中出现“错误:')' 标记之前的预期主表达式”)。

template <typename T>
void fooBar ()
{
Foo<T> f;
f.bar<1>();
}

如果我尝试显式调用第二个版本,例如

fooBar<int>();

然后 gcc 还提示

"invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator<'".

第二个版本无效有什么原因吗?为什么 gcc 将“<”视为运算符而不是模板参数列表的开头?

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com