Problème d'inclusion entre deux classes.
Bonjour,
j'ai un problème d'inclusion que je n'arrive pas à résoudre.
Voila mon code :
Premiere classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #pragma once
#include "csceneobj.h"
#include "CVoxelSet.h"
#include <string>
using namespace std ;
class CRender : public CSceneObj
{
public:
CRender(string nom, SoGroup* parentGroup, CVoxelSet* voxelSet, CTransfer* transfer);
~CRender(void);
void setBoundingBox(SbXfBox3f* box);
CVoxelSet* voxelSet ;
CTransfer* transfer ;
protected:
}; |
La 2eme classe, qui pose un problème de compilation.
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
| #pragma once
#include "csceneobj.h"
#include <VolumeViz/nodes/SoVolumeData.h>
#include <VolumeViz/nodes/SoTransferFunction.h>
#include "CTransfer.h"
#include "CRender.h"
#include <iostream>
#include <fstream>
#include <string>
#include <list>
using namespace std ;
//
/*!class CVoxelSet
*\brief Représente un volume défini par des voxels.
*\date 28/04/2009
*/
//
class CVoxelSet
{
public:
CVoxelSet(void);
CVoxelSet(unsigned char* data, int height, int width, int slices, bool deleteData=false);
~CVoxelSet(void);
void addRef(CRender* render); //c'est ici que ça plante. |
le message du compilateur :
error C2143: syntax error : missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C'est à dire qu'il ne connait pas CRender.
Alors que celui-ci est inclu au début.
Comment faire pour résoudre cette erreur ?