我怎么能阻止编译这段代码的最后一行?
#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的类型转换,并且似乎不是用户的意图.
安全布尔成语似乎与此相关吗?