Lista sąsiedztwa [string]

0

Dobry wieczór,
czy ktoś z was mógłby mi pomóc i wyjaśnić, dlaczego po stworzeniu listy o liczbie wierzchołków (a) i liczbie krawędzi (b) i przypisaniu do każdej osoby -> osoba1 sąsiada osoba2 (wczytanych z pliku txt ) wyskakuje mi błąd
"[Error] no match for 'operator[]' (operand types are 'std::list<std::basic_string<char> >*' and 'std::string {aka std::basic_string<char>}')"

Od wielu dni próbuję rozwiązać ten problem. W internecie jest pełno kodów napisanych pod int'y, jednak ja dostałem zadanie pracy na stringach. Z góry dziękuję za każdą pomoc.

  if( plik.good() )
        plik >> a >> b;

    list<string> *znajomi; 
	znajomi = new list<string>[a];

	
	for (int i = 0; i<b; i++){
		plik >> osoba1>> osoba2;
		znajomi[osoba1].push_back(osoba2);
	    znajomi[osoba2].push_back(osoba1);   
	}
1

znajomi[0] - ok
znajomi[a-1] - ok
znajomi["Jakiś_Durny_Napis_Wczytany_Z_Pliku_Zamiast_Indeksu_WTF"] - nie jest ok.

1 użytkowników online, w tym zalogowanych: 0, gości: 1