我无法在C ++中启动整数向量

时间:2017-08-14 23:32:07

标签: c++

我有以下代码摘录。

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include <fstream>
#include <string>
#include <array>
using namespace std;

int solver(int T)
{
    /* read IA */

    ifstream inputFile("IA [0;1.3077].txt");

    vector<int> ia;

    if (inputFile) {
        int num;
        while ( inputFile >> num) {
            ia.push_back(num);
        }
    }

}

int main (void) {
    solver(360);
}

但它给了我这个错误:

 error: implicit instantiation of undefined template
      'std::__1::vector<int, std::__1::allocator<int> >'
    vector<int> ia;
                ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:200:29: note: 
      template is declared here
class _LIBCPP_TYPE_VIS_ONLY vector;

目标是读取每行有整数的txt文件,而不知道提前有多少行。我正在选择一个向量来保存数据,因为我不想初始化一个固定大小的整数数组。有人有什么建议吗?

另外,我了解变量T未使用 - 我将在加载.txt文件后使用它。

1 个答案:

答案 0 :(得分:2)

你需要:

 #include <vector>

您必须直接包含所用类型的所有标题。