Ciao a tutti!
Ho un problema con un ciclo for. In pratica il codice che ho scritto dovrebbe leggere un file di testo ed estrarre dei link per poi visualizzarli uno alla volta. Ho risolto la questione dell'estrazione dei link con le librerie boost regex. Ecco il codice della parte interessata:
Utilizzo visual c++ e gli errori che ricevo in fase di compilazione sono:codice:fstream lista("list",ios::in); string line , link_page; while(lista.good()){ getline(lista, line); link_page += line; } lista.close(); list<string> lb_link; regex pattern("http://\\w{8}.linkbucks.com"); sregex_token_iterator end; for (sregex_token_iterator link(link_page.begin(), link_page.end(), pattern); link != end; ++link){ lb_link.push_back(*link); } lb_link.unique(); int i; for (i=0;i<lb_link.size();i++){ cout << lb_link[i] << endl; }
riferito all'ultimo ciclo "for (i=0;i<lb_link.size();i++){"codice:warning C4018: '<': errata corrispondenza tra signed e unsigned
riferito all'espressione all'interno dell'ultimo ciclo "cout << lb_link[i] << endl;"codice:error C2676: '[' binario: 'std::list<_Ty>' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
Come posso risolvere? Grazie a tutti in anticipo!

Rispondi quotando