2012-06-18 11 views
6

I m utilizzando auto parola chiave nel mio codiceC++ automatica non citarne tipo

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

Su compilazione con seguente comando ottengo questi errori

[[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 

utilizzando -std = C++ 0x dovrebbe hanno fatto il trucco Che c'è ?

+1

l'errore è molto probabile nell'uso di boost :: find. Detto questo, si prega di pubblicare la versione GCC. –

+0

Alcune versioni di gcc richiedono '-std = C++ 11'. Questo lo aggiusta? – Anthony

+0

gcc versione 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC), piattaforma Fedora 16 –

risposta

3

Le intestazioni boost non vengono rilevate per lo stesso motivo per le intestazioni Qt a meno che non si specifica -I /usr/include/QtCore/. Non c'è niente di speciale nelle intestazioni boost affinché il compilatore sia parziale nei loro confronti. La sezione Search Path della documentazione di GCC può aiutarti.

Problemi correlati