14

私が試したコンパイラはどれもそのようなコードを受け入れませんでした:

template <int ...a> bool foo() { return (a<=> ... <=>0); }

しかし、それ以外の<=,>=,==,!=,<,>場合はコンパイルされます。

ここでcppreferenceは明確です<=>。フォールド式に使用できる二項演算子のリストにはありません。

これは C++ 標準の意図的な省略ですか、それともコンパイラはこれに対応していませんか?

問題は純粋な好奇心です。この分野での C++ の方向性を知りたかっただけです。他のすべての比較演算子は、折りたたみ式と同じくらい意味があるため、許可された演算子の折りたたみ式リストから削除されると想像でき<=>ます...

4

1 に答える 1