相关疑难解决方法(0)

将boost :: optional转换为bool

我怎么能阻止编译这段代码的最后一行?

#include <boost/optional.hpp>

int main()
{
    typedef boost::optional<int> int_opt;
    int_opt opt = 0;
    bool x = opt;  // <- I do not want this to compile
}
Run Code Online (Sandbox Code Playgroud)

最后一行不检查opt包含的int值,而是编译为bool的类型转换,并且似乎不是用户的意图.

安全布尔成语似乎与此相关吗?

c++ boost type-conversion boost-optional

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

boost ×1

boost-optional ×1

c++ ×1

type-conversion ×1