以下を実装しようとすると、コンパイラ エラー C2071explicit operator bool
が発生します。
class C
{
public:
explicit operator bool() const
{
return !!*this;
}
};
なんで?どうすればこの問題を解決できますか?
Visual Studio 2012 RC を使用しています。
以下を実装しようとすると、コンパイラ エラー C2071explicit operator bool
が発生します。
class C
{
public:
explicit operator bool() const
{
return !!*this;
}
};
なんで?どうすればこの問題を解決できますか?
Visual Studio 2012 RC を使用しています。
Visual Studio 2012 は、明示的な変換演算子をサポートしていません。「 Visual C++ 11 の C++11 機能」を参照してください。
これらの記事では、安全な bool イディオムについて説明しています。
Visual Studio 2010の機能のリストを見ると、利用可能な機能ではなかったことがわかります。VisualStudio2012のVisualC++の新機能を見ると、追加されていないことがわかります。