こんにちは、構造体の演算子をキーとして使用するためにオーバーロードするのに問題があります。これは、マップキーとして使用する予定の構造体です。基本的には、2 つの char 配列があります。
struct FConfig
{
char product[3];
char exchange[4];
bool operator < (const FConfig &rhs) const
{
return (strcmp(product, rhs.product) < 0 ||
strcmp(exchange, rhs.exchange <0));
}
};
私の比較では、product または exchange のいずれかが rhs のものと等しくない限り、キーは一意であると見なされます。これを使用すると、実行時に「無効な演算子 <」が表示されます。私はキーを作成するのがまったく初めてなので、< 演算子を上書きするときのロジックを理解するのにまだ苦労しています。助けてくれてありがとう、ありがとう!