将函数声明转换为变量定义的简单技巧

时间:2015-11-14 17:21:57

标签: c++ variables syntax function-declaration most-vexing-parse

我知道以下语句被解释为函数声明而不是变量定义

boost::system::system_error sys_err(boost::system::error_code());

是否有任何简单的技巧可以将其转换为单行变量定义,这是我想要的?我不太喜欢写作

boost::system::system_error sys_err(0, boost::system::system_category());

1 个答案:

答案 0 :(得分:3)

如果您的编译器至少支持C ++ 11,那么Dúthomhas的答案就行了。对于更通用的解决方案,您可以将参数包装在一对额外的括号中: boost::system::system_error sys_err((boost::system::error_code()));