我在读Stroustrup的“编程-使用C ++的原理和实践”时发现,他包含了一个没有大括号的函数,却没有说明自己,网上人说这是不可能的。
我已经编译了代码,并且可以正常工作。
void f()
try {}
catch(...) {}
我希望从中得到一个编译器错误,但我没有,它可以正常工作。我正在使用C ++ 17。
答案 0 :(得分:6)
不需要大括号吗?
有花括号:
void f() try {} catch(...) {}
^^
function-try-block将catch子句序列与整个函数主体相关联