我在从文件中读取一个int的向量时遇到了一些问题......这是我第一次遇到这种情况而且我已经尝试了所有内容。 这是我的代码的一部分:
#include<stdio.h>
#include<conio.h>
#include<iostream>
#include<vector>
#include<string>
#include<fstream>
int m;
std::vector<int>a[100];
std::vector<int>b[100];
int main()
{
std::ifstream file("data.in");
file>>m;
int i;
for( i = 0; i<m/2; i++ )
file>>a[i]>>b[i];
return 0;
}
为什么它不起作用? :(
答案 0 :(得分:4)
std::vector<int>a[100];
声明一个包含100个向量的数组。因此a[i]
是一个向量,而不是int
。您无法直接从输入中读取矢量。
如果你想要 size 100的向量,而不是100个向量的数组,语法是
std::vector<int> a(100);