c ++コードをコンパイルしようとすると、タイトルに記載されているエラーが発生します。ここで何が悪かったのか理解できません。
コンパイラにbool operator==(Token )
関数の実装に問題があります。これが演算子をオーバーロードする方法だと思いました。
コンパイラが私が言及するのを嫌う理由についての手がかりはあり
ますthis->terminal
かthis->lexeme
?
class Token {
public:
tokenType terminal;
std::string lexeme;
Token *next;
Token();
bool operator==(Token &t);
private:
int lexemelength, line, column;
};
bool Token::operator==(Token &t) {
return ((this->terminal == t->terminal) &&
(this->lexeme == t->lexeme));
}