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 機能」を参照してください。

これらの記事では、安全な bool イディオムについて説明しています。

于 2012-07-06T15:31:12.607 に答える
2

Visual Studio 2010の機能のリストを見ると、利用可能な機能ではなかったことがわかります。VisualStudio2012のVisualC++の新機能を見ると、追加されていないことがわかります。

于 2012-07-06T15:34:41.797 に答える