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

Simple trick to turn function declaration into variable definition

本文关键字:简单 定义 变量 函数 声明 转换      更新时间:2023-10-16

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

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

有没有什么简单的技巧可以把它变成一个单行变量定义,这就是我想要的?我不太喜欢写

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

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