C++ kodumu derlemeye çalışırken başlıkta belirtilen hatayı alıyorum. Burada yanlış yaptığımı anlamada sorun yaşıyorum.Derleme hatası: ‘->’ taban işleneni non Token ’işaretçisi değil 12 Token’
Derleyicinin, bool operator==(Token)
işlevinin uygulanmasında bir sorun var. Bunun bir operatöre aşırı yüklenmenin yolu olduğunu düşündüm.
Derleyicinin beni neden beğenmediğine dair herhangi bir ipucu this->terminal
veya 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));
}
Bu kadar '' '' '' '' '' '' '' '' '' '' '' '' dır. – chris
Karşılaştırma operatörünün standart bildiriminin “bool operator == (const Token & t) const;” (iki ek 'const' endikasyonunu eklediğim) olacağını unutmayın. –
@qream Eğer bu soruya cevap verdiyse, cevabı kabul etmekten çekinmeyin;) – Qix