2013-02-08 8 views
6

Đó là trong chế độ xem Vấn đề về Eclipse của tôi. Mã biên dịch tốt nhưng có lỗi nói "required from here", trỏ đến một số tệp tiêu đề tăng và đến dòng state_data const current_state=interlocked_compare_exchange(&state,new_state,old_state);Lỗi 'bắt buộc từ đây' là gì

Tôi không muốn có lỗi hoặc cảnh báo. Có ai biết đó là gì không?

+2

Đó chỉ là một phần của thông báo lỗi , cho bạn biết lỗi đến từ đâu. – jrok

+0

Nó thường nói * một cái gì đó rất dài * và thêm "yêu cầu từ đây" một phần để giúp tìm ra những gì mã * gây ra * đó * cái gì đó * để xảy ra. Hiển thị phần còn lại của tin nhắn có thể hữu ích. –

+1

Đây là điều duy nhất trong phần lỗi và mã biên dịch tốt. Chỉ có các cảnh báo sau khi nó xuất hiện trong giao diện điều khiển. – Etherealone

Trả lời

4

Hành vi này là lỗi của trình phân tích cú pháp lỗi CDT nhật thực: https://bugs.eclipse.org/bugs/show_bug.cgi?id=108720 Thực ra lỗi này là cảnh báo và tăng cường chịu trách nhiệm cho nó. Bạn có thể vô hiệu hóa loại cảnh báo đặc biệt này để bỏ qua chúng.

+0

làm thế nào để vô hiệu hóa nó .. Tôi nhận được lỗi này mỗi khi tôi chạy NDK trong Eclipse – Shravan

+1

Tùy thuộc vào cảnh báo của bạn mà là coursing vấn đề bạn có thể vô hiệu hóa nó với '-w'. Xem [doc cảnh báo gcc] (https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) về cách tắt cảnh báo. – user2135069

0

Bạn đã thực sự quay lại chưa? và kiểm tra các loại & trạng thái new_state và old_state. nếu bạn sử dụng: int new_state; và trong hàm compare_exchange (size_t & nhà nước, size_t NEW_STATE, size_t OLD_STATE) Bạn nhận được lỗi này, tôi cũng đã làm :)

  state_data const current_state = interlocked_compare_exchange(&state,new_state,old_state); 

add:

 return new_state;