2012-04-15 15 views
10

Quando provo utilizzare la funzione itoa(), ottengo l'avvertimento:implicita dichiarazione di funzione itoa non è valida in C99

implicita dichiarazione di funzione non è valida in C99.

Ho incluso stdlib.h sulla mia intestazione. Sto cercando di chiamare questa funzione all'interno di una funzione, non sono sicuro che sia permesso.

+0

@maxflow: dove hai dichiarato "itoa"? –

+0

@CharlesBailey Ho provato a dichiarare itoa sia in main che in una funzione e ottengo lo stesso errore. – maxflow

+0

Fintanto che lo dichiari prima di usarlo, non dovresti ricevere l'errore che hai postato. Si prega di inviare il codice. –

risposta

11

Il problema è che itoa() non è una funzione standard.

Si dovrebbe dare un'occhiata a this link che vi dà alcune implementazioni alternative

+0

Il suo problema è che itoa è disponibile per il linker ma non esiste una definizione c per esso. Dichiarando char * itoa (int, char *, int); dovrebbe risolvere il problema – waynix

2

Un'alternativa che viene comunemente utilizzato al posto di itoa è sprintf/snprintf. Questi fanno parte di stdio.h.

Problemi correlati