2012-04-15 9 views
10

Kiedy próbuję użyć funkcji itoa(), pojawia się ostrzeżenie:niejawna deklaracja funkcji itoa jest nieważny w C99

niejawna deklaracja funkcji jest nieważny w C99.

Dołączyłem stdlib.h do mojego nagłówka. Próbuję wywołać tę funkcję wewnątrz funkcji, nie jestem pewien, czy jest to dozwolone.

+0

@maxflow: Gdzie zadeklarowałeś 'itoa'? –

+0

@CharlesBailey Próbowałem zadeklarować itoa zarówno w głównej i wewnętrznej funkcji i otrzymuję ten sam błąd. – maxflow

+0

Tak długo, jak deklarujesz to przed użyciem, nie powinieneś otrzymywać błędu, który opublikowałeś. Proszę zaksięguj kod. –

Odpowiedz

11

Problem polega na tym, że itoa() nie jest standardową funkcją.

Należy przyjrzeć this link który daje pewne alternatywne implementacje

+0

Jego problem polega na tym, że itoa jest dostępne dla linkera, ale nie ma definicji c dla niego. Zgłaszanie char * itoa (int, char *, int); powinien rozwiązać problem. – waynix

2

alternatywę, która jest powszechnie stosowana w miejsce itoa jest sprintf/snprintf. Są one częścią stdio.h.

Powiązane problemy