gpt4 book ai didi

c++ - 不能声明只有一个参数的匿名对象

转载 作者:太空狗 更新时间:2023-10-29 20:06:03 27 4
gpt4 key购买 nike

有这段代码:

class SomeClass
{
public:
SomeClass(){}

SomeClass(SomeClass& b){}

SomeClass(SomeClass&b, SomeClass& c){}
};

int main()
{
SomeClass a;
SomeClass(); // works all right
//SomeClass(a); error: redeclaration of ‘SomeClass a’
SomeClass(a, a); // works all right
return 0;
}

可以声明带有 0 和 2 个参数的 SomeClass 的匿名对象,但是不能只用 1 个参数声明。我假设写作

SomeClass(a);

相同
SomeClass a;

如何用一个参数创建匿名对象?

最佳答案

您可以在自己的语句中构造一个临时对象,例如:

(SomeClass)a;

(SomeClass(a));

如您所见,需要括号来解决声明和表达式语句之间的歧义。

关于c++ - 不能声明只有一个参数的匿名对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9790679/

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