我試圖在我創建的類中重載運算符<<
,該類中創建的類比較兩個字符串,而不管大小寫。這裏是我的布爾運算符在嘗試比較字符串時,C++中的運算符重載錯誤
friend bool operator <<(const string& member, const string& player) {
return toLowerCase(member) == toLowerCase(player);
}
程序在我的代碼
current->name << member
現在目前這個點返回一個錯誤是一個指向包含一個字符串名稱和成員的節點是一個字符串,它是在提示用戶時通過引用傳遞。我得到的錯誤是
invalid operands to binary expression('string'(aka'basic_string<char>') and 'string')
使用''<<一個比較肯定違反了最小驚訝的原則。 – juanchopanza
@juanchopanza和即使使用標準庫類型;可憐這個可憐的傢伙試圖將他的字符串打印到'std :: cout' ... – nijansen
你是如何實現toLowerCase功能的?如果兩個字符串相等,則輸出 –