将函数声明转换为变量定义的简单技巧
Simple trick to turn function declaration into variable definition
我知道下面的语句被解释为函数声明而不是变量定义
boost::system::system_error sys_err(boost::system::error_code());
有什么简单的技巧可以将它变成我想要的单行变量定义吗?我不太喜欢写作
boost::system::system_error sys_err(0, boost::system::system_category());
只要您的编译器至少支持 C++11,Dúthomhas 的回答就可以了。对于更通用的解决方案,您可以将参数包装在一对额外的括号中:
boost::system::system_error sys_err((boost::system::error_code()));
我知道下面的语句被解释为函数声明而不是变量定义
boost::system::system_error sys_err(boost::system::error_code());
有什么简单的技巧可以将它变成我想要的单行变量定义吗?我不太喜欢写作
boost::system::system_error sys_err(0, boost::system::system_category());
只要您的编译器至少支持 C++11,Dúthomhas 的回答就可以了。对于更通用的解决方案,您可以将参数包装在一对额外的括号中:
boost::system::system_error sys_err((boost::system::error_code()));