gpt4 book ai didi

c++ - 与指针一起使用时未声明“开始”

转载 作者:搜寻专家 更新时间:2023-10-31 00:08:12 25 4
gpt4 key购买 nike

我有一段代码如下:

#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
}

为什么 beginend 与指针一起使用时没有声明? *vectP 应该被视为 vect 因为它被取消引用了,还是我误解了什么?我应该如何纠正这个问题?

最佳答案

您的运算符优先级错误。 *vectP.begin() 表示 *(vectP.begin())(当然这不起作用),而不是 (*vectP).begin (),就是你的意思。但是您可能应该拼写 vectP->begin()

关于c++ - 与指针一起使用时未声明“开始”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com