000
13.10.2008, 10:32 Uhr
~redbomber
Gast
|
Hallo zusammen ich habe ein Problem:
ich habe einen GNG_Algorithmus. Von diesem Algorithmus aus werden Nodes (einzelne Knoten) erstellt, sowie der NodePool. Der NodePool verwaltet alle existierenden Nodes und enthält auch eine Liste von allen existierenden Nodes.
Es folgt die Klasse des Algorithmus: GNG_Algorithmus.h
C++: |
#ifndef GNG_ALGORITHM_H_ #define GNG_ALGORITHM_H_
#include "Node.h" #include "GNG_Parameters.h" #include "NodePool.h"
class GNG_Algorithm { void gng_Zero_StartWithTwoNodes(GNG_Parameters&, std::list<Node>&, NodePool&); } #endif /*GNG_ALGORITHM_H_*/
|
Wenn ich nun bei diesem Algorithmus die Methode gng_Zero_StartWithTwoNodes(...) aufrufen möchte kommt immer der Fehler: „NodePool has not been declared“ wobei ich doch NodePool.h eingebunden habe.
Dasselbe Problem habe ich wenn ich in dem NodePool einen Vector erstellen möchte, der Objekte vom Typ Node enthält. Wenn ich also ein Object vom Typ Node erstelle, soll der Nodepool diesen in seinen Vector aufnehmen. Aber im Nodepool kann ich auch keinen Vector erstellen, der Node Objecte enthält. Dann kommt dort auch „Node has not been declared“.
Wisst ihr woran das liegen kann?
Vielen Dank und Grüße
Hier noch:
NodePool.h
C++: |
#ifndef NODEPOOL_H_ #define NODEPOOL_H_
#include <vector> #include "GNG_Algorithm.h" #include "Node.h" #include "GNG_Parameters.h"
class NodePool { public: bool existingNodes[]; // contains for each possible node if its existing (true) or not (false) std::vector<int> freeNodes; // contains the ids of all free node positions in the nodelist //std::vector<Node> nodelist; // List Of all Nodes NodePool(GNG_Parameters&); virtual ~NodePool(); bool isNodeExisting(int); // to check if Node is valid int getNextFreeNode(void); // to get Position to store next Node in array Nodelist int setNextFreeNode(int); // set the next id which is free for use to create new node };
#endif /*NODEPOOL_H_*/
|
und Node.h :
C++: |
#ifndef NODE_H_ #define NODE_H_
#include <iostream> #include <vector> #include <list>
#include "NodePool.h" #include "GNG_Parameters.h"
class Node { int id_int; // ID von Node double error_dbl; double position_dblary[]; std::vector<int> connections_vec; public: Node(void); Node(GNG_Parameters&, std::list<Node>&); ~Node(void); double createHazardValues(); };
#endif /*NODE_H_*/
|
|