我有以下代码摘录。
#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文件后使用它。
答案 0 :(得分:2)
你需要:
#include <vector>
您必须直接包含所用类型的所有标题。