Avatar billede sirius Nybegynder
08. oktober 2006 - 19:00 Der er 3 kommentarer og
1 løsning

linker problem

Hej

Jeg får følgende fejl når jeg prøver at builde mit projekt, kan sagtens compile alle filerne

Polygon.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CPolygon::draw(void)" (?draw@CPolygon@@UAEXXZ)

CPolygon er min abstrakte klasse og har så en anden klasse som arver fra den og cpolygon har så en virtual metode, tror lidt det er der fejlen ligger

nogen der lige umiddelbart kan se fejlen eller skal jeg smide noget kildekode op ?

bruger visual c++ hvis det har nogen betydning

på forhånd tak :-)
Avatar billede bertelbrander Novice
08. oktober 2006 - 19:36 #1
Er CPolygon's draw virtual?
Er der pure virtual? Som i:
  virtual void draw() = 0;
Avatar billede sirius Nybegynder
09. oktober 2006 - 00:36 #2
virker nu når jeg har = 0 som du skriver

hvad er forskellen eller skal man bare have = 0 på hvis andre klasser skal beskrive den metode ?

svar hvis du vil have point :-)
Avatar billede bertelbrander Novice
09. oktober 2006 - 01:04 #3
Ved at bruge = 0 bliver funktionen pure, dvs. den findes ikke. Man kan så ikke lave et objekt af den class, kun af class'er der arver fra class'en og som implementerer funktionen.

Almindelige virtual funktioner skal implementeres, selv om de ikke bliver brugt.
Pure virtual funktioner skal ikke implementeres, medmindre det er en destructor.

Jeg samler ikke på point.
Avatar billede sirius Nybegynder
09. oktober 2006 - 12:08 #4
ok, jeg siger tak for hjælpen :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester