În data de 31 martie 2016, 23:10, Laura Vasilescu via so < [email protected]> a scris:
> 2016-03-31 22:17 GMT+03:00 Razvan Deaconescu via so <[email protected] > >: > > Dorinel Filip via so <[email protected]> writes: > >> Salutare, > >> > >> De multe ori, în C, pentru a evita declarațiile implicite, trebuie să > >> punem, semnăturile funcțiilor statice la începutul sursei modulului > >> (exact cum am face într-un fișier header, pentru funcțiile > >> non-statice). > > > > Nu înțeleg "evitarea declarațiilor implicite". Despre ce este vorba? > > Declarațiile implicite presupun că orice funcție întoarce int. Așa că > următorul snippet de cod dă eroare la compilare (nu uitați de "-lm"): > #include <stdio.h> > #include <math.h> > > int main(void) > { > int r = my_sqrt(); > printf("%lf\n", r); > > return 0; > } > > double my_sqrt() > { > return sqrt(2); > } > > Dacă modifici my_sqrt să întoarcă int, nu mai primești eroare. > De asemenea, dacă lași funcția așa (să întoarcă double) și o declari > înainte de main, nu mai primești eroare. > Laura a descris foarte bine la ce mă refeream. Toate cele bune, Dorinel Filip > > (nu luați cu copy/paste snippet-ul că l-am scris de pe telefon și > probabil are și alte erori :) ) > > Laura > _______________________________________________ > http://ocw.cs.pub.ro/courses/so/info/lista-discutii
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
