C2678编译时。 Visual Studio指的是xutility

时间:2017-03-15 10:45:08

标签: c++

基本上,我可能做错了什么。 Visual Studio对我大吼大叫,我就像一个聋人,只是坐在那里,一边大吼大叫,一边思考着:"你对我有什么要求?"。无论如何,我已将其缩小为单一的if语句:

    for (int i = 0; i < countries.size(); i++) {
        for (int x = 0; x < countries.size(); x++) {
            if (countries[i].thoughtsof[x] < -50) {
                for (int v = 0; v < currentwars.size(); v++) {
                    if ( (std::find(currentwars[v].Agressors.begin(), currentwars[v].Agressors.end(), countries[i]) != currentwars[v].Agressors.end() || std::find(currentwars[v].Defenders.begin(), currentwars[v].Defenders.end(), countries[i]) != currentwars[v].Defenders.end()) && (std::find(currentwars[v].Agressors.begin(), currentwars[v].Agressors.end(), countries[x]) != currentwars[v].Agressors.end() || std::find(currentwars[v].Defenders.begin(), currentwars[v].Defenders.end(), countries[x]) != currentwars[v].Defenders.end()) ) {
                        result = true;
                    }
                    else {
                        result = false;
                    }
                    if (!result) {
                        War war(countries[i], countries[x]);
                        currentwars.push_back(war);
                    }
                }
            }
        }
    }

该错误基本上是这样说的:&#34;二进制&#39; ==&#39;:找不到运算符,该运算符采用类型&#39; Country&#39;的左手操作数。 (或者没有可接受的转换)&#34;

双击它会引导我进入这个区块:

template<class _InIt,
class _Ty> inline
_InIt _Find_unchecked1(_InIt _First, _InIt _Last, const _Ty& _Val, false_type)
{   // find first matching _Val
for (; _First != _Last; ++_First)
    if (*_First == _Val)
        break;
return (_First);
}

但是,在War类标题中,我将两个向量都设置为Country类:

std::vector<Country> Agressors;
std::vector<Country> Defenders;

如果我形成了不太好的东西,请原谅。只是我正在慢慢陷入疯狂,因为我试图解决这个问题2天。提前谢谢。

0 个答案:

没有答案