001
12.04.2009, 01:08 Uhr
0xdeadbeef
Gott (Operator)
|
Worldmap.h bindet Orctree.h ein, dementsprechend sieht der Compiler den Inhalt von Orctree.h vor dem Inhalt von Worldmap.h, und insbesondere, bevor globe deklariert ist.
Sofern Orctree in Worldtree.h benutzt wird (das ist aus den Codeausschnitten nicht ersichtlich) vermute ich, dass du etwa folgendes willst:
C++: |
#ifndef ORCTREE_H #define ORCTREE_H
#include <cstdlib> #include <ctime> #include <iostream> #include <set> #include <stdlib.h> #include <vector>
// globe forwärts-deklarieren struct globe;
class Octree {
private: VectorN<3> corner1;//(minx,miny,minz) VectorN<3> corner2;//(maxx,maxy,mayz) VectorN<3> center; //((minx + maxx) / 2, usw ... Octree *children[2][2][2]; bool hasChildren; std::set<globe*> myglobe;
...
|
Die Forwärts-Deklaration ermöglicht die Benutzung von globe in einer Art und Weise, für die das gesamte Struct-Layout nicht bekannt sein muss. Das bedeutet die Deklaration/Definition von globe* und globe&, nicht aber globe oder die Benutzung von Membervariablen (die zu diesem Zeitpunkt noch nicht bekannt sind). -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |