非常基本的问题。我正在研究'加速C ++',但我无法继续。我当前练习的代码如下:
#include <iomanip>
#include <ios>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
int x;
vector<double> quartiles;
cin >> x;
quartiles.push_back((double)x);
return 0;
}
问题出现了......我不确定它是Netbeans(v7.3.1)还是编译器(Cygwin_4.x),不能识别矢量类。我在本章的例子中使用了这个类,但它在这个文件中没有识别它。
我所尝试的是保存和构建项目,以及删除文件并重新创建它以防万一我输入的内容,但无济于事。
任何帮助将不胜感激,谢谢你。
编辑:修复了在向量而不是四分位数上调用push_back()的错误。
Edit2:IDE(NetBeans)而不是编译器存在问题。
答案 0 :(得分:8)
如果您正在谈论带有红色的带下划线的vector
- 这也是我遇到的着名的NetBeans问题。一种解决方案是单击project context menu -> code assistance -> reparse project
。代码本身(在您编辑之后)是一个有效的C ++代码,如果您尝试编译代码,编译器会将其视为绝对正确。
答案 1 :(得分:5)
您需要在push_back
个实例上调用vector
。所以
vector.push_back((double)x);
应该是
quartiles.push_back((double)x);