|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2013
Messaggi: 3
|
C++ Problema con gli iteratori di std::map
Salve ragazzi, in un progetto per l'università mi sono imbattuto in questo problema, una volta definito un iteratore costante, il ciclo su tutta la mappa non viene fatto della dimensione corretta, cioè, nella classe document, c'è una bag of words implementata così:
Codice:
std::map<std::string,int> bag; Codice:
//Put doc.bag in stream
void DocToStream(std::fstream& stream, document& doc)
{
std::map<std::string,int>::const_iterator iter;
uint i_t=0x00;
iter=doc.GetBag().begin();
stream<<doc.GetName();
stream<<" ";
stream<<doc.GetSize();
stream<<" ";
stream<<doc.GetClass();
stream<<" ";
for(;iter!=doc.GetBag().end();++iter)
{
stream<<iter->first;
stream<<" ";
std::cout<<(i_t++)<<std::endl;
stream<<iter->second;
stream<<" ";
}
}
Ultima modifica di Mohegan : 24-12-2013 alle 11:41. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Dec 2013
Messaggi: 3
|
RISOLTO
Ho risolto scrivendo dei metodi nella classe document che mi restituissero bag.begin() e bag.end() poi nel ciclo ho usato quelli e ha funzionato tutto, qualcuno mi sa comunque dire da cosa dipendeva quel problema?
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:20.



















