Errore di compilazione C di GCC, valore vuoto non ignorato come dovrebbe essere

Sto avendo problemi nella compilazione di un codice C. Quando compilo, ricevo questo errore:

player.c: In function 'login': player.c:54:17: error: void value not ignored as it ought to be 

Questo è il codice per l’errore:

 static bool login(const char *username, const char *password) { sp_error err = sp_session_login(g_sess, username, password, remember_me); printf("Signing in...\n"); if (SP_ERROR_OK != err) { printf("Could not signin\n"); return 0; } return 1; } 

Un modo per aggirare questo tipo di errore?
Grazie

Modifica: tutte le funzioni sp_ sono da libspotify

Dov’è esattamente la riga di errore?

Senza ulteriori informazioni, suppongo che sia qui:

 sp_error err = sp_session_login(g_sess, username, password, remember_me); 

Immagino che sp_session_login stia restituendo il vuoto.

Provare:

 static bool login(const char *username, const char *password) { sp_session_login(g_sess, username, password, remember_me); printf("Signing in...\n"); return 1; } 

Di solito significa che si assegna il ritorno di una funzione void a qualcosa, che è naturalmente un errore.

Nel tuo caso, suppongo che la funzione sp_session_login sia vuota, da cui l’errore.

Ho intenzione di indovinare che sp_session_login è dichiarato come sp_session_login void e non sp_error e c’è un modo alternativo per determinare se ha avuto successo.

Non sembra che sp_session_login restituisca effettivamente qualcosa. In particolare, non restituisce uno sp_error , quindi non c’è modo che questo possa funzionare. Non puoi davvero bypassarlo.

È necessario dichiarare le funzioni void prima di utilizzarle. Prova a metterli prima della funzione principale o prima delle loro chiamate. C’è un’altra azione che puoi fare: puoi dire al compilatore che userai le funzioni void.

Ad esempio, ci sono due modi per fare la stessa cosa:

 #include  void showMsg(msg){ printf("%s", msg); } int main(){ showMsg("Learn c is easy!!!"); return 0; } 

… e l’altro modo:

 #include  void showMsg(msg); //Here, you told the compiller that you will use the void function showMsg. int main(){ showMsg("Learn c is easy!!!"); return 0; } void showMsg(msg){ printf("%s", msg); }