我试图在我创建的类中重载运算符<<
,该类中创建的类比较两个字符串,而不管大小写。这里是我的布尔运算符在尝试比较字符串时,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功能的?如果两个字符串相等,则输出 –