作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题已经好几天没有答案了...
我正在尝试搜索一个项目以便对其进行修改。对于“列表”,我需要重载 operator== 但我不明白我的错误。你能告诉我如何解决这个问题吗?
class Nation{
private :
short continent;
unsigned int population, superficie;
string pays, ville;
public :
list<Nation> lireRemplir(list<Nation>liste, const char nomALire[]);
Nation(short continent, unsigned int population, unsigned int superficie, string pays, string ville) {
..... // ok
}
Nation(){};
void modifierContinent(list<Nation> liste, string nomPays, short nouveauContinent);
bool operator == (Nation &); //?
};
bool Nation::operator == (Nation & autre) {
return this->pays == autre.pays;
}
void modifierContinent(list<Nation> liste, string nomPays, short nouveauContinent)
{
//Nation uneNation(0,0,0,nomPays,"");
for (list<Nation>::iterator il = liste.begin(); il != liste.end(); il++)
{
if (*il == nomPays){ cout << "found!"; }
}
}
int main()
{
list<Nation>liste;
liste=lireRemplir(liste, "Nation.txt"); //hidden but working
modifierContinent(liste, "FRANCE", 5);
}
最佳答案
这里:
if (*il == nomPays){ cout << "found!"; }
nomPays
是字符串类型,但您为另一种 Nation
类型重载了运算符。没有采用 Nation
和 string
的重载 =
。
两种解决方案:
您可以重载到字符串的转换(不推荐)或创建一个接受字符串的构造函数。
最好的解决方案是为 pays
创建一个 getter
方法来执行 il->getPays() == nomPays
。简洁明了。
关于c++ - c2678 二进制 '==' 未找到采用左手操作数类型的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115356/
我想将“Game on Sep 27”放在左下角,“Lost 100 chips”对面。但我看不到将它定位在左下角。 这是我当前的 CSS: 有什么建议吗?非常感谢! 最佳答案 最简单的方法是将所有三
我是一名优秀的程序员,十分优秀!