Hallo,
ich hab mal wieder versucht, objektorientiert zu proggen. Leider klappt es nicht so wie es sollte. Beim folgendem Code bekomme ich 'ne Fehlermeldung:Und hier das Output vom Compiler:Code:class a { public: virtual void mach()=0; }; class b:public a { public: void mach() { } }; int main() { b x; x.mach(); }
Weiss jemand, was diesmal nicht klappt???Code:> "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.6 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiling C++: main.cpp avr-gcc -c -mmcu=atmega32 -I. -x c++ -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -fno-exceptions -Wall -Wa,-adhlns=obj/main.lst -MD -MP -MF .dep/main.o.d main.cpp -o obj/main.o main.cpp:37: warning: alignment of 'b::_ZTV1b' is greater than maximum object file alignment. Using 1 main.cpp:31: warning: alignment of 'a::_ZTV1a' is greater than maximum object file alignment. Using 1 Linking: testpp.elf avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/main.o -std=gnu99 -Wundef -MD -MP -MF .dep/testpp.elf.d obj/main.o --output testpp.elf -Wl,-Map=testpp.map,--cref -lm obj/main.o:(.data+0xa): undefined reference to `__cxa_pure_virtual' make.exe: *** [testpp.elf] Error 1 > Process Exit Code: 2 > Time Taken: 00:00
MfG Mark







Zitieren

Lesezeichen