非常基本的问题.我正在研究'加速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;
}
Run Code Online (Sandbox Code Playgroud)
问题出现了......我不确定它是Netbeans(v7.3.1)还是编译器(Cygwin_4.x),不能识别矢量类.我在本章的示例中使用了该类,但是它在此文件中无法识别它.
我试过的是保存和构建项目,以及删除文件并重新创建它,以防它是我输入的某种东西,但无济于事.
任何帮助将不胜感激,谢谢你提前.
编辑:修复了在向量而不是四分位数上调用push_back()的错误.
Edit2:IDE(NetBeans)而不是编译器出了问题.
如果你正在谈论vector用红色加下划线- 这也是我所遭受的着名的NetBeans问题.一种解决方案是点击project context menu -> code assistance -> reparse project.代码本身(在您编辑之后)是一个有效的C++代码,如果您尝试编译它,编译器会将其视为绝对正确.
你需要调用push_back一个vector实例.所以
vector.push_back((double)x);
Run Code Online (Sandbox Code Playgroud)
应该
quartiles.push_back((double)x);
Run Code Online (Sandbox Code Playgroud)