У меня есть фрагмент кода следующим образом:
#include<algorithm>
#include<vector>
std::vector<std::string> vect;
std::vector<std::string> * vectP;
vect.push_back("ele0");
vect.push_back("ele1");
void func(){
if(std::find(*vectP.begin(),*vecP.end(),"ele0")!=*vectP.end())
//'begin' and 'end' have not been declared
}
Почему begin
и end
не объявлены, когда они используются с указателями? С *vectP
следует обращаться так, как если бы оно было vect
, поскольку оно разыменовано, или я что-то неправильно понял? Как мне исправить это?