gpt4 book ai didi

C++:如果括号为空,为什么不抛出错误对象?

转载 作者:行者123 更新时间:2023-12-01 14:49:07 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





constructor does not run

(2 个回答)



Default constructor with empty brackets

(9 个回答)


1年前关闭。




我是异常处理的新手,所以我不明白为什么在这段代码中,如果我用空括号创建了一个对象,它不会抛出异常对象,但是如果我将参数传递给构造函数,它就可以正常工作。如果这与构造函数的类型有关,您能否提及不同类型的构造函数,以便我可以在 google 上搜索它们。提前致谢。

class test {
public:
class error {};
test(){
throw error();
}
};

int main()
{
try {
test p();
}
catch(test::error)
{
cout <<"Error caught!"<< endl;
}
return 0;
}

最佳答案

令人烦恼的解析 test p(); (这是函数声明)。

使用 test p{};test p;反而

关于C++:如果括号为空,为什么不抛出错误对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59518010/

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