当我尝试实施explicit operator bool
时,我得到Compiler Error C2071:
class C
{
public:
explicit operator bool() const
{
return !!*this;
}
};
为什么呢?我该如何解决这个问题呢? 我正在使用Visual Studio 2012 RC。
答案 0 :(得分:11)
Visual Studio 2012不支持显式转换运算符,请参阅C++11 Features in Visual C++ 11。
这些文章谈论安全布尔成语:
答案 1 :(得分:2)
如果查看features in Visual Studio 2010列表,可以看到它不是可用的功能。查看What's New for Visual C++ in Visual Studio 2012显示尚未添加。