wasu napisał(a):
Jeśli deklaruje funkcję to daje znać kompilatorowi jakiego typu argumenty może ona przyjmować oraz jaki typ zwraca,
a definicja oprócz tego rezerwuje jeszcze pewien obszar pamięci flash (czyli pamiec programu) i umieszcza w niej zawartosc funkcji
No właśnie - więc jak można wpaść na pomysł "wywołania" funkcji POZA CIAŁEM INNEJ FUNKCJI ????
przecież zapis:
def_lcdchar(0x81, znak_);
tuż po definicji zmiennych kompilator będzie próbował rozpoznać jako deklarację funkcji tyle że jakąś skopaną na maxa. No bo nie widać jaki typ danych ona zwraca, nie widać typów jej argumentów, kompilator widzi tylko jakąś nazwę, a to że po jej prawej stronie jest otwarty pierwszy nawias okrągły i dzieje się to poza jakąkolwiek funkcją - to domyśla się że ma do czynienia z próbą deklaracji funkcji, ale jakiejś okaleczonej a co gorsze - mówi ci w komunikatach WYRAŹNIE że taka nazwa została już wcześniej zarezerwowana w bibliotece LCD ......
Zatem nie wymyślaj proszę nowych zasad języka C - bo nigdzie w książce nie napisałem, że można wywoływać jakiekolwiek funkcje poza ciałem innych funkcji - toż to jakaś fantasmagoria zarówno dla mnie jak i dla kompilatora. Więc nie ma co się dziwić, że prawie się kompilator udławił jak próbował taki kod skompilować i zwymiotował taką ilością warningów i błędów.
..... poczytaj o funkcjach .....
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]