2012-06-18 17 views
6

I m za pomocą słowa kluczowego auto w moim koduC++ auto nie nazwę typu

137  auto i = boost::find(adresses, adress);        

Na kompilacji z następującego polecenia otrzymuję te błędy

[[email protected] tests]$ clear;g++ testCoverDownloader.cpp ../CoverDownloader.cpp -I /usr/include/QtGui/ -I /usr/include/QtCore/ -lQtGui -lQtCore -std=c++0x 

../CoverDownloader.cpp:137:10: error: ‘i’ does not name a type 
../CoverDownloader.cpp:139:8: error: ‘i’ was not declared in this scope 

użyciu -std = C++ 0x powinien zrobiłem lewę. Co jest nie tak ?

+1

Błąd najprawdopodobniej występuje w używaniu metody boost :: find. z tym, proszę, opublikuj wersję GCC. –

+0

Niektóre wersje gcc pobierają '-std = C++ 11'. Czy to rozwiązuje? – Anthony

+0

gcc wersja 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC), platforma Fedora 16 –

Odpowiedz

3

Nagłówki boost nie są pobierane z tego samego powodu, co nagłówki Qt, chyba że podasz -I /usr/include/QtCore/. Nie ma nic szczególnego w nagłówkach boost, ponieważ kompilator jest częściowy w stosunku do nich. Pomocna może okazać się sekcja dokumentacji GCC Search Path.