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); }