给出一段程序:
#include<iostream>#include<string>
#include<vector>
using namespace std;
void main()
{
vector<Point2f> a;
a[0].x = 5;
a[0].y = 5;
cout<<a.size()<<endl;
}
出现错误:
a[i]=m;
修改如下:
#include<iostream>
#include<string>
#include<vector>
using namespace std;
void main()
{
vector<string> a;
a.resize(10); // 1. 加这一行
a[0].x=5;
a[0].y=5;
//a.push_back(5 ); // ??
//a.push_back(5 ); //??
cout<<a.size()<<endl;
}
在用vector时,增加元素通常用第二种方式。[]通常可以用来读取其中的元素,极少用于给其中的元素赋值
两种方法:
vector<string> a;
//a.resize(2); // 1. 加这一行
//a[0]="aaaaaa";
//a[1]="xxxxxx";
a.push_back("aaaaaa"); // 2. 或者这么写
a.push_back("xxxxxx");
//a.resize(2); // 1. 加这一行
//a[0]="aaaaaa";
//a[1]="xxxxxx";
a.push_back("aaaaaa"); // 2. 或者这么写
a.push_back("xxxxxx");