gpt4 book ai didi

c++ - 第二个模板中有一个参数的模板类构造函数抛出错误 "constant"

转载 作者:行者123 更新时间:2023-11-30 02:38:49 26 4
gpt4 key购买 nike

我的类模板有问题。

template <class T>
class test {
private:
T a;
public:
test (T _a){
a = _a;
}
test (){}
};

template <class T>
class test2 {
public:
test<double> first(10.2);
// ^ error C2059: syntax error : 'constant'

test<T> second;
test<T> third;
test2(){}

};

main()
{
test2<int> object;
return 0;
}

为什么我会收到上面评论中显示的编译器错误?

最佳答案

非静态数据成员初始化器需要使用大括号或等号。括号不是一个选项,可能是为了整个 Most Vexing Parse数据成员不会发生惨败。将其更改为以下之一:

test<double> first = 10.2; //option 1 (doesn't work with explicit constructor)
test<double> first{10.2}; //option 2

关于c++ - 第二个模板中有一个参数的模板类构造函数抛出错误 "constant",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30397886/

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