C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Pb compilation POO

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
BCH
Guest





PostPosted: Tue Sep 23, 2003 9:18 am    Post subject: Pb compilation POO Reply with quote



Bonjour,


J'ai une erreur à la compilation d'un prg sous vc++:
"warning C4182: #include nesting level is 363 deep; possible infinite
recursion
fatal error C1076: compiler limit : internal heap limit reached; use
/Zm to specify a higher limit"


En Voici le principe, j'ai 2 classes A et B, chacune de ces 2 classes
fait référence à l'autre (association (1,1)) :

// Fichier A.h
#include "B.h"
Class A
{
B * ptr;
...
}


// Fichier B.h
#include "A.h"
Class B
{
A * ptr;
...
}

Quelqu'un aurait-il une solution à me proposer ?


Merci d'avance
Back to top
Rémy
Guest





PostPosted: Tue Sep 23, 2003 9:24 am    Post subject: Re: Pb compilation POO Reply with quote




"BCH" <ben.christophe (AT) wanadoo (DOT) fr> a écrit dans le message de
news:bf210555.0309230118.6b19ad90 (AT) posting (DOT) google.com...
Quote:
Bonjour,


J'ai une erreur à la compilation d'un prg sous vc++:
"warning C4182: #include nesting level is 363 deep; possible infinite
recursion
fatal error C1076: compiler limit : internal heap limit reached; use
/Zm to specify a higher limit"


En Voici le principe, j'ai 2 classes A et B, chacune de ces 2 classes
fait référence à l'autre (association (1,1)) :

// Fichier A.h
#include "B.h"
Class A
{
B * ptr;
...
}


// Fichier B.h
#include "A.h"
Class B
{
A * ptr;
...
}

Quelqu'un aurait-il une solution à me proposer ?


Merci d'avance

Tout d'abord, il faut protéger les fichiers .h contre les inclusions
multiples:

dans X.h, on met

#ifndef __X
#define __X

code de X.h
....

#endif


Par ailleurs, lorsqu'on utilise seulement un pointeur, on se contente de la
déclaration de la classe:

// Fichier A.h
class B;
class A
{
B * ptr;
...
}

Rémy



Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.