2014-04-22 41 views
5

W linii przy użyciu std :: list :: iterator kompilator wyświetla komunikat "Błąd: nazwa klasy kwalifikowana jest niedozwolona. Nie jestem pewien, na czym polega problem. Czy ktoś może rozwinąć na problemie kompilatory z mojego kodu.Błąd: kwalifikowana nazwa klasy jest niedozwolona

#include <iostream> 
#include <list> 

using std::cout; 
using std::endl; 
using std::list; 
using std::list<int>::iterator; 
int main() 
{ 
list<int> listObject; 
for (int i = 1; i <= 3; i++) 
    listObject.push_back(i); 
cout << "List contains:\n"; 
iterator iter; 
for (iter = listObject.begin(); iter != listObject.end(); iter++) 
    cout << *iter << " "; 
cout << endl; 
cout << "Setting all entries to 0:\n"; 
for (iter = listObject.begin(); iter != listObject.end(); iter++) 
    *iter = 0; 
cout << "List now contains:\n"; 
for (iter = listObject.begin(); iter != listObject.end(); iter++) 
    cout << *iter << " "; 
cout << endl; 
return 0; 
} 
+0

Ogólnie rzecz biorąc, podczas zadania pytania o błąd, bardzo pomocne jest opublikowanie tekstu błędu – aruisdante

Odpowiedz

4

nie można przynieść nazwę z zakresu klasy w zakresie przestrzeni nazw z dyrektywą using. można być tylko using nazwa zdefiniowana w zakresie przestrzeni nazw, w innej przestrzeni nazw.

+0

Co sugerujesz? – user2364556

+1

Możesz albo przeliterować "listę :: iterator' w razie potrzeby, albo" typedef "ją. –

Powiązane problemy