#include <iostream>
#include <vector>
using namespace std;
struct multa{
int data;
};
struct veiculos{
string placa;
vector<multa*> multas;
};
int tam = 0;
vector<veiculos*> carros;
void insereVeiculos(){
veiculos *carrosparaadd = new veiculos;
cout << "digite a placa do veiculo:" << endl;
cin >> carrosparaadd->placa;
carros.push_back(carrosparaadd);
cout << carros[].placa;
tam++;
}
void inseremultas(){
int cont = 0 ,i = 0;
cout << "Quantas multas você quer adicionar?" << endl;
cin >> cont;
for(i=0;i<cont;i++){
multa *multasparaadd = new multa;
cout << "Digite a data da multa para add:" << endl;
cin >> (*multasparaadd).data;
cout << (*multasparaadd).data;
carros[0]->multas.push_back(multasparaadd);
}
}
为什么我不能访问矢量车? 与carros [0] .placa?我测试了它,发现它从键盘上获得了正确的值 感谢。
答案 0 :(得分:1)
你的表达
cout << carros[].placa;
缺少数组访问的索引,因为它是一个指针向量,您还需要取消引用被访问的元素。编译的正确表达式是例如:
cout << carros[0]->placa;
如果要打印刚刚插入的元素,可以使用:
cout << carros.back()->placa;
或者,因为您要插入指针,只需:
cout << carrosparaadd->placa;