Ik heb nu het volgende:
een .dll wordt gebouwd en een .lib. Ik heb 1 class, maar die maak gebruikt van twee andere classes.
Omdat te voorkomen dat de gebruiker alledrie de header files moet hebben, heb ik forward declaraties van de classes boven die ene gezet;
dus:
De headerfiles zijn geinclude in de c-file van de class 'C'. Daar worden in de constructor a en b gemaakt met een 'new' commando.
Compiled allemaal fijn en zo, maar als ik nu gebruik probeer te maken van a of b in een programma waar ik de headerfile van class C in include, bijv op de manier c.a->IsWindowVisible()' (het is een dialog), zegt hij:
error C2027: use of undefined type 'A'
d:\<C.h>(11) : see declaration of 'A'
en verwijst hij hier naar die forward declaratie.
Moet hij niet gewoon de definitie zien in de .lib file die ik meegekoppeld heb?
een .dll wordt gebouwd en een .lib. Ik heb 1 class, maar die maak gebruikt van twee andere classes.
Omdat te voorkomen dat de gebruiker alledrie de header files moet hebben, heb ik forward declaraties van de classes boven die ene gezet;
dus:
C++:
1
2
3
4
5
6
7
8
9
| class A; class B; class C { ... A* a; B* b; } |
De headerfiles zijn geinclude in de c-file van de class 'C'. Daar worden in de constructor a en b gemaakt met een 'new' commando.
Compiled allemaal fijn en zo, maar als ik nu gebruik probeer te maken van a of b in een programma waar ik de headerfile van class C in include, bijv op de manier c.a->IsWindowVisible()' (het is een dialog), zegt hij:
error C2027: use of undefined type 'A'
d:\<C.h>(11) : see declaration of 'A'
en verwijst hij hier naar die forward declaratie.
Moet hij niet gewoon de definitie zien in de .lib file die ik meegekoppeld heb?
[ Voor 13% gewijzigd door Boy op 03-08-2005 11:26 ]
Naar de bioscoop? => gebruik de app op Byoscoop.nl