Hoi
Even voor UTFS geroepen wordt:
Dit topic ([rml][ C++] include-probleem[/rml]) heb ik al gelezen nav queries als deze: "recursieve include" (zonder quotes dan) en dergelijke.
Ik zit met het probleem dat ik een brok assembler code wil schematiseren. Hiervoor gebruik ik 2 klassen, een 'opcode' en een 'functie' (niet zeiken over de naamgeving, ik kies het *niet*).
functie bezit een aantal opcodes (en vormt dus een container) en heeft dus kennis nodig van 'opcode'. nodig. Echter wil ik in opcode ook een pointer naar de de functie waar hij in ligt.
Nu stond er in de draad hierboven dat je het op kunt lossen door allebei in 1 header te kwakken (ik gebruik standaard al de #ifndef x ... #define x .... code .... #endif methode ).
Nu werkt het als volgt niet (even de niet relevante code ge-dd'ed):
Dit doe ik op OS X met GCC (onder Eclipse+CDT). Puur gcc werkt ook niet:
Hoe kan ik dit het netste tackelen?
Even voor UTFS geroepen wordt:
Dit topic ([rml][ C++] include-probleem[/rml]) heb ik al gelezen nav queries als deze: "recursieve include" (zonder quotes dan) en dergelijke.
Ik zit met het probleem dat ik een brok assembler code wil schematiseren. Hiervoor gebruik ik 2 klassen, een 'opcode' en een 'functie' (niet zeiken over de naamgeving, ik kies het *niet*).
functie bezit een aantal opcodes (en vormt dus een container) en heeft dus kennis nodig van 'opcode'. nodig. Echter wil ik in opcode ook een pointer naar de de functie waar hij in ligt.
Nu stond er in de draad hierboven dat je het op kunt lossen door allebei in 1 header te kwakken (ik gebruik standaard al de #ifndef x ... #define x .... code .... #endif methode ).
Nu werkt het als volgt niet (even de niet relevante code ge-dd'ed):
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #ifndef FUNCTION_H_ #define FUNCTION_H_ class Command{ public: Command(); private: Function *parent; }; class Function: public Command { public: Function(char *name); }; #endif /*FUNCTION_H_*/ |
Dit doe ik op OS X met GCC (onder Eclipse+CDT). Puur gcc werkt ook niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| bigmac:~/Documents/workspace/disassemblyCycleCounter/Debug boudewijn$ make -k all Building file: ../command.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -ocommand.o ../command.cpp ../function.h:14: error: ISO C++ forbids declaration of 'Function' with no type ../function.h:14: error: expected ';' before '*' token make: *** [command.o] Error 1 Building file: ../dCC.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -odCC.o ../dCC.cpp ../function.h:14: error: ISO C++ forbids declaration of 'Function' with no type ../function.h:14: error: expected ';' before '*' token ../dCC.cpp: In function 'int main(int, const char**)': ../dCC.cpp:28: warning: unused variable 'mainFunction' make: *** [dCC.o] Error 1 Building file: ../function.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -ofunction.o ../function.cpp ../function.h:14: error: ISO C++ forbids declaration of 'Function' with no type ../function.h:14: error: expected ';' before '*' token make: *** [function.o] Error 1 Building file: ../inputReader.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -oinputReader.o ../inputReader.cpp Finished building: ../inputReader.cpp Building file: ../outputWriter.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -ooutputWriter.o ../outputWriter.cpp Finished building: ../outputWriter.cpp make: Target `all' not remade because of errors. |
Hoe kan ik dit het netste tackelen?