Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;-找到你的条件?_C++ - Fatal编程技术网

C++ c++;-找到你的条件?

C++ c++;-找到你的条件?,c++,C++,如何检查find\u是否找到匹配项?当我尝试以下代码时: SparseMatrix& SparseMatrix::operator+=(const SparseMatrix &other) { vector<Node>::iterator itThis; for (vector<Node>::const_iterator itOther = other._matrix.begin(); itOther != other._matrix.en

如何检查
find\u是否找到匹配项?当我尝试以下代码时:

SparseMatrix& SparseMatrix::operator+=(const SparseMatrix &other)
{
    vector<Node>::iterator itThis;
    for (vector<Node>::const_iterator itOther = other._matrix.begin(); itOther != other._matrix.end(); ++itOther)
    {
        itThis = find_if(_matrix.begin(), _matrix.end(), position_finder(*itOther));

        if(*itThis)
        {
            itThis->value += itOther->value;
        } else
        {
            _matrix.push_back(*itOther);
        }
    }

    return *this;
}
我知道它是一个常数,所以我不能改变它的值,但我想知道是否有匹配。

来自:

find_if(先输入,后输入,一元谓词p)

返回值

迭代到满足条件的第一个元素,或
最后一个
(如果未找到此类元素)


如果将迭代器返回到容器中的元素或
end()
,请参阅

您可以将它与matrix.end()进行比较


如果未找到项,则
find\u If
返回等于
\u matrix.end()的迭代器

这就是其中之一。
could not convert ‘itThis.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator* [with _Iterator = Node*, _Container = std::vector<Node>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference = Node&]()’ from ‘Node’ to ‘bool’
if( itThis != _matrix.end())
{
}
else
{
}
if (itThis == _matrix.end()) { ... }