typedef struct
{
string idArtigo;
string tituloArtigo;
string veiculoPublicacao;
vector<string> autores;
}Publicacao;
Ich habe einen Vektor wie:Mit multimap und struct in C++
vector<Publicacao> pub(1000);
und:
multimap<int,Publicacao> multimapa;
multimap<int,Publicacao>::iterator it;
Im mit Einsatz hinzuzufügen:
multimapa.insert (pair<int,Publicacao>(i,p[i]));
multimapa.insert (pair<int,Publicacao>(i,p[j]));
Das Problem ist, , wenn ich drucke, kann ich nicht die Vektorautoren der Struktur, nur die andere Variable drucken s, wie:
for (it=multimapa.begin(); it!=multimapa.end(); ++it)
{
arquivoResultado<<"Codigo Unico: "<< (*it).first<<endl; //works
arquivoResultado<<"Titulo: "<<(*it).second.tituloArtigo<<endl; //works
arquivoResultado<<"Autores: "<<endl; // works
for(i=0; (*it).second.autores.size(); i++) // NOT WORKS
{
arquivoResultado<<(*it).second.autores[i]<<" "; //FAIL EXECUTION
}
arquivoResultado <<"\nVeiculo: "<<(*it).second.veiculoPublicacao<<endl;
}
Nur der Vektor der Struktur haben ein Problem in der Ausführungszeit, und ich habe keine Ahnung warum.
Vermissen Sie nicht irgendeine Syntax? Wie 'i <(* it) .second.autores.size();' –
nicht einmal arquivoResultado << (* it) .second.autores [0]; funktioniert, als wäre etwas nicht in Ordnung und kann diesen Gegenstand nicht erreichen, oder ich vermisse die richtige Syntax wirklich. –
Könnten Sie einen [MCVE] bereitstellen? –