2013-02-12 14 views
5

Tôi đang viết một số mã C++ với eclipe.Eclipse báo hiệu lỗi nhưng mã biên dịch

Tôi có một hành vi lạ với các đối tượng vectơ.

Khi tôi sử dụng phương pháp resize ví dụ, Eclipse sẽ trả về lỗi sau:

#include "vector" 

    ... 

    vector<int> a; 
    a.resize(5); 

    Error: Invalid arguments candidates are: void resize(?, int). 

Tuy nhiên mã biên dịch từ dòng lệnh.

Làm cách nào để khắc phục hành vi khó hiểu này của nhật thực?

+0

Làm việc cho tôi. Bạn đang sử dụng CDT mới nhất? Lưu ý rằng các bản phân phối Linux có xu hướng đóng gói CDT đã được một vài năm tuổi. – Eugene

+0

Tôi cũng gặp sự cố này. Tôi đã thêm tất cả các thư mục bao gồm, và Eclipse không có vấn đề với 'vector ', nó chỉ là các biến thành viên của nó mà nó có vấn đề. –

Trả lời

6

Sau một thời gian dài tìm kiếm và sửa đổi các cài đặt, tôi nghĩ rằng tôi đã tìm thấy câu trả lời. Để có được indexer phân tích mã một cách chính xác tôi phải:

  1. Nhấp chuột phải dự án -> Properties
  2. Đến C/C++ General -> Preprocessor Bao gồm Paths, Macros, vv
  3. Nhấp vào tab cung cấp
  4. Kiểm tra CDT GCC Build-in Compiler Cài đặt tùy chọn
  5. Áp dụng
  6. Rebuild index
+0

Xin cảm ơn! Tôi đã phát điên vì chuyện này. – rocarvaj

+0

hoạt động. cảm ơn rất nhiều – AlexWei