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:

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;
        }
Utilizzo visual c++ e gli errori che ricevo in fase di compilazione sono:

codice:
warning C4018: '<': errata corrispondenza tra signed e unsigned
riferito all'ultimo ciclo "for (i=0;i<lb_link.size();i++){"

codice:
error C2676: '[' binario: 'std::list<_Ty>' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
riferito all'espressione all'interno dell'ultimo ciclo "cout << lb_link[i] << endl;"

Come posso risolvere? Grazie a tutti in anticipo!