2013-02-08 10 views
6

È nella vista Problemi con Eclipse. Il codice viene compilato correttamente ma viene visualizzato un errore "required from here", che punta a un file di intestazione boost e alla riga state_data const current_state=interlocked_compare_exchange(&state,new_state,old_state);Che cos'è l'errore "richiesto da qui"

Non mi piace avere errori o avvisi. Qualcuno sa di cosa si tratta?

+2

E 'solo una parte del messaggio di errore , dicendoti da dove viene l'errore. – jrok

+0

Di solito dice * qualcosa di molto lungo * e aggiunge la parte "required from here" per aiutare a capire quale codice * ha causato * che * qualcosa * possa accadere. Mostrare il resto del messaggio potrebbe essere d'aiuto. –

+1

È l'unica cosa nella sezione errori e il codice viene compilato correttamente. Ci sono solo avvertimenti dopo di esso nell'output della console. – Etherealone

risposta

4

Questo comportamento è un bug di Eclipse CDT Error Parser: https://bugs.eclipse.org/bugs/show_bug.cgi?id=108720 In realtà questo errore è un avviso e il boost è responsabile. Puoi disattivare questo speciale tipo di avvertenze per ometterle.

+0

come disabilitarlo .. Ricevo questo bug ogni volta che eseguo l'NDK in Eclipse – Shravan

+1

A seconda del tuo avviso che sta scorrendo il problema, puoi disabilitarlo con '-w'. Vedi [gcc warning doc] (https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) su come disabilitare gli avvisi. – user2135069

0

Sei davvero tornato? e controlla i tipi & state new_state e old_state. se hai usato: int new_state; e nella funzione compare_exchange (size_t & stato, size_t NEW_STATE, size_t OLD_STATE) Si ottiene questo errore, così ho fatto :)

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

aggiuntivo:

 return new_state;