我有一个简单的问题。
我可以那样做吗?
class test {
int x;
public:
test();
test(int x);
};
总的来说,我有:
test t;
t(2);
假设我有一个类测试,首先我使用默认构造函数声明对象t,但随后我想显式修改调用显式构造函数的值。因为我尝试了此操作,但没有获得对函数(test)(int)的匹配调用,所以这没有任何意义。
您的课程声明很好,但是
t(2);
不是构造函数调用,而是尝试调用的void operator()(int)
重载test
(未提供)。
你可能只是想写
test t(2);
或使用编译器生成的赋值运算符
test t;
t = 2; // or t = test(2);
代替
test t;
t(2);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句