最近、C++ Builder XE8 から Rad Studio 10 Seattle にアップグレードしました。新しい Clang コンパイラを使用しようとしていますが、問題が発生しています。
カスタム グリッド クラスには、次のコード行があります。
__property Options = {default=TGridOption::AlternatingRowBackground << TGridOption::RowSelect};
これにより、コンパイラから次のエラーが発生します。
[CLANG Error] FmGridU.h(57): invalid operands to binary expression ('Fmx::Grid::TGridOption' and 'Fmx::Grid::TGridOption')
他の質問で読んだことから、自分の<<
オペレーターを実装するようなことをする必要があります。ただし、これをどのように行うかは正確にはわかりません。私の理解では、現在のコードはコントロール オプションを操作する標準的な方法です。
Classic Boreland コンパイラではスローされないエラーをスローする新しい Clang コンパイラとの違いは何ですか? <<
options プロパティを設定できるようにするために、演算子を実装するにはどうすればよいですか?
編集:
Remy の提案に従って構文を修正しました。
__property Options = {default = TGridOptions() << TGridOption::AlternatingRowBackground << TGridOption::RowSelect};
ただし、次のエラーが表示されるようになりました。
'expression is not an integral constant expression'
この質問によると、答えはコードを関数内に置くことでした。ただし、ヘッダー ファイルでこのプロパティを宣言しているため、その方法がわかりません。私が見逃しているものは他にありますか?