C++Builder 10 で Variant を bool に変換するにはどうすればよいですか?
古い bcc32 コンパイラでは、次のコードを使用して、ジェネリック TComponent が有効になっているかどうかを確認しました。
if ((bool)GetPropValue(c, "Enabled", false))
do_something();
ただし、C++Builder 10 にアップグレードし、新しい Clang ベースのコンパイラを有効にすると、次のエラーが発生します。
[CLANG Error] VclHelpers.cpp(1375): ambiguous conversion for C-style cast from 'System::Variant' to 'bool'
完全なコンパイラ メッセージは、Variant の 36 の変換演算子が有効な候補と見なされることを示しています: operator double()
、operator wchar_t*
など。