プレフィックスとポストフィックスのインクリメントに演算子のオーバーロードを使用すると、コンパイラからエラーが発生します。
"Fajl Fajl :: operator ++(int)':メンバー関数はすでに定義または宣言されています"
演算子++のヘッダーは次のとおりです。
Fajl& operator ++ (); // prefix
Fajl& operator -- (); // prefix
Fajl operator ++ (int); // postfix
Fajl operator ++ (int); // postfix
そして私の実装:
Fajl& Fajl::operator ++ () // prefix
{
++(*poz);
return *this;
}
Fajl& Fajl::operator -- () // prefix
{
--(*poz);
return *this;
}
Fajl Fajl::operator ++ (int dummy) // postfix
{
Fajl temp(*this);
++(*this);
return temp;
}
Fajl Fajl::operator -- (int dummy) // postfix
{
Fajl temp(*this);
--(*this);
return temp;
}
「Fajl」はクラスであり、「poz」は私がインクリメントしているその引数です。私は何が間違っているのですか?