2012-06-18 32 views
6

Tôi đang sử dụng ô tô từ khóa trong mã của tôiC++ tự động không tên một loại

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

On biên soạn với lệnh sau tôi nhận được các lỗi này

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

sử dụng -std = C++ 0x nên đã làm được điều này. Chuyện gì thế ?

+1

lỗi rất có thể xảy ra khi bạn sử dụng tăng :: tìm. với điều đó đã nói, hãy đăng phiên bản GCC. –

+0

Một số phiên bản gcc có '-std = C++ 11'. Điều đó có khắc phục được không? – Anthony

+0

gcc phiên bản 4.6.3 20120306 (Red Hat 4.6.3-2) (GCC), nền tảng Fedora 16 –

Trả lời

3

Các tiêu đề boost không được chọn vì lý do tương tự, tiêu đề Qt sẽ không trừ khi bạn chỉ định -I /usr/include/QtCore/. Không có gì đặc biệt về các tiêu đề boost cho trình biên dịch là một phần đối với chúng. Phần Search Path của tài liệu GCC có thể giúp bạn.

Các vấn đề liên quan