11

当我尝试实现时出现编译器错误 C2071explicit operator bool

class C
{
public:

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

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

4

2 回答 2

11

Visual Studio 2012 不支持显式转换运算符,请参阅Visual C++ 11 中的 C++11 功能

这些文章讨论了安全的布尔成语

于 2012-07-06T15:31:12.607 回答
2

如果您查看Visual Studio 2010 中的功能列表,您会发现它不是可用功能。查看Visual Studio 2012 中 Visual C++ 的新增功能表明尚未添加。

于 2012-07-06T15:34:41.797 回答