mcmacpl napisał(a):
Zbudowałem klasę z metodami wirtualnymi. Klasa LCD - odpowiada za sterowanie wyświetlaczem LCD. Dziedziczy po niej klasa LCD_I2C - ta jest wcieleniem klasy LCD komunikującym się za pomocą ekspandera po I2C. Klasa LCD definiuje kilka metod wirtualnych (przeważnie z pustym ciałem), które nadpisane są w klasie LCD_I2C.
Wszystko działa świetnie, tylko podczas kompilacji otrzymuję warningi:
Class '[C@3f926c' has virtual method 'setBacklight' but non-virtual destructor LCD.h
Destruktor właściwie nie jest mi potrzebny. Próbowałem nawet go definiować, ale wtedy rozbijam się o error mówiący o braku deklaracji delete(void*)
Jak można pozbyć się tych warningów?
Trzeba dodać do klasy podstawowej wirtualny destruktor
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
,a następnie przed definicją klasy LCD
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wtedy kompilacja przechodzi bez problemów.