作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一段代码如下:
#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
因为它被取消引用了,还是我误解了什么?我应该如何纠正这个问题?
最佳答案
您的运算符优先级错误。 *vectP.begin()
表示 *(vectP.begin())
(当然这不起作用),而不是 (*vectP).begin ()
,就是你的意思。但是您可能应该拼写 vectP->begin()
。
关于c++ - 与指针一起使用时未声明“开始”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091145/
在我们的数据库表上,我们使用两个唯一的非聚集索引来创建跨四个字段的唯一约束。我们使用两个,因为其中一个字段 ZipCode 是一个可为空的字段。如果表中存在一条包含 ZipCode 的 null 条目
我刚刚开始学习 Rails 3 教程,以便对框架有一点熟悉,但我在生成 schema.rb 时遇到了问题。我的操作系统是 Windows 7 x64、Ruby 1.9.2、MySQL2 gem 0.2
我是一名优秀的程序员,十分优秀!