1. ホーム
  2. c

[解決済み] C言語における演算子のオーバーロード

2022-03-07 20:46:30

質問

いくつかの演算子をオーバーロードしようとしています。

/* Typedef is required for operators */
typedef int Colour;

/* Operators */
Colour operator+(Colour colour1, Colour colour2);
Colour operator-(Colour colour1, Colour colour2);
Colour operator*(Colour colour1, Colour colour2);
Colour operator/(Colour colour1, Colour colour2);

オーバーロードを試すたびに、このエラーが発生します。

expected '=', ',', ';', 'asm' or '__attribute__' before '+' token

演算子のオーバーロードについて、良い資料が見つかりません。ググってみると、C++のチュートリアルはクラスを使っている。C言語にはクラスがありません。誰か助けてくれませんか?ありがとうございます。

どのように解決するのですか?

C言語は演算子のオーバーロードをサポートしていません(言語に組み込まれているもの以外)。