c – 错误C2039:’find’:不是’std’的成员

前端之家收集整理的这篇文章主要介绍了c – 错误C2039:’find’:不是’std’的成员前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚遇到一个奇怪的错误,说发现不是标准的成员.

error C2039: ‘find’ : is not a member of ‘std’

error C3861: ‘find’: identifier not found

基本上,我想查找是否可以在向量中找到一个字符串

任何想法为什么会发生这种情况?代码辅助告诉我在std中找到方法.

所以这基本上是我做的:

#include "OperatorUtil.h"
#include <iostream>
#include <string>
#include <stdlib.h>
#include <math.h>
#include <sstream>


using namespace SAEConfig;


namespace operatorUtil
{
   bool isIn(const Filter filter,const SearchKey key)
   {

    bool result = false;


    string dimensionStr = key.dimensions.getValue(filter.getFilterKey());
    if(filter.getFilterValues().size()>0)
    {
        vector<string> vstr= filter.getFilterValues();
        std::vector<string>::iterator it;        // Iterator
        it = std::find(vstr.begin(),vstr.end(),dimensionStr);  //ERROR LINE  
        // Check do we have the object in the queue
        if(it == vstr.end())    
        {           
            result =true;
        }
    }

    return result;
   }
}

解决方法

std::find在< algorithm>头.添加到开头:
#include <algorithm>

猜你在找的C&C++相关文章