2012-06-18 15 views
6

I m usando automático palabra clave en mi códigoC++ automático no nombra a un tipo

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

Al compilar con la siguiente comando puedo obtener estos errores

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

usando -std = C++ 0x debe han hecho el truco. Qué está mal ?

+1

es probable que haya un error en el uso de boost :: find. Dicho esto, publique la versión de GCC. –

+0

Algunas versiones de gcc toman '-std = C++ 11'. ¿Eso lo arregla? – Anthony

+0

gcc versión 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC), plataforma Fedora 16 –

Respuesta

3

Los boost cabeceras no están para ser recogido por la misma razón las cabeceras Qt no ser que especifique -I /usr/include/QtCore/. No hay nada de especial en los encabezados boost para que el compilador sea parcial con ellos. La sección Search Path de la documentación de GCC puede ayudarlo.

Cuestiones relacionadas