2

很基本的问题。我正在使用“加速 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)而不是编译器的问题。

4

2 回答 2

8

如果您正在谈论vector用红色下划线 - 这是一个著名的 NetBeans 问题,我也遇到了。一种解决方案是单击project context menu -> code assistance -> reparse project。代码本身(在您编辑之后)是一个有效的 C++ 代码,如果您尝试编译它,编译器会完全处理它。

于 2013-09-06T16:13:54.100 回答
4

您需要调用push_back一个vector实例。所以

vector.push_back((double)x);

应该

quartiles.push_back((double)x);
于 2013-09-06T16:14:05.677 回答