显式运算符bool错误

时间:2012-07-06 15:24:01

标签: c++ c++11 operator-overloading explicit

当我尝试实施explicit operator bool时,我得到Compiler Error C2071

class C
{
public:

    explicit operator bool() const
    {
        return !!*this;
    }
};

为什么呢?我该如何解决这个问题呢? 我正在使用Visual Studio 2012 RC。

2 个答案:

答案 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显示尚未添加。