j'aimerai savoir comment faire pour qu'une struct CUSTOMVERTEX définie dans
Mesh.h par exemple soit reconnue dans Engine.h quand j'include le Mesh.h
dans le Engine.h.
actuellement j'ai declaré ma struct CUSTOMVERTEX dans ma classe Mesh, avant
les 'private:' et 'public:'
et si je veux m'en servir dans la classe Engine il la reconnait pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
drkm
"lecyborg" writes:
bonjour à tous,
j'aimerai savoir comment faire pour qu'une struct CUSTOMVERTEX définie dans Mesh.h par exemple soit reconnue dans Engine.h quand j'include le Mesh.h dans le Engine.h.
actuellement j'ai declaré ma struct CUSTOMVERTEX dans ma classe Mesh, avant les 'private:' et 'public:' et si je veux m'en servir dans la classe Engine il la reconnait pas.
D'après ce que je comprends, tu as quelque chose du genre :
Si tu n'indiques pas de qualificateur d'accès [1], tu es par défaut dans une section privée pour les classes, et publique pour les structures. Par exemple :
class UneClass { // section privée private: // ici aussi public: // section publique } ;
Je ne sais pas si c'est là ton problème, mais peut-être essaies-tu d'accéder à la structure dans un bout de code qui n'est pas déclaré en tant qu'ami de `Mesh´.
[1] Est-ce bien le bon terme pour désigner `public´, `private´ et `protected´ ?
--drkm
"lecyborg" <inconnu@au.bataillon> writes:
bonjour à tous,
j'aimerai savoir comment faire pour qu'une struct CUSTOMVERTEX
définie dans Mesh.h par exemple soit reconnue dans Engine.h quand
j'include le Mesh.h dans le Engine.h.
actuellement j'ai declaré ma struct CUSTOMVERTEX dans ma classe
Mesh, avant les 'private:' et 'public:' et si je veux m'en servir
dans la classe Engine il la reconnait pas.
D'après ce que je comprends, tu as quelque chose du genre :
Si tu n'indiques pas de qualificateur d'accès [1], tu es par défaut
dans une section privée pour les classes, et publique pour les
structures. Par exemple :
class UneClass
{
// section privée
private:
// ici aussi
public:
// section publique
} ;
Je ne sais pas si c'est là ton problème, mais peut-être essaies-tu
d'accéder à la structure dans un bout de code qui n'est pas déclaré en
tant qu'ami de `Mesh´.
[1] Est-ce bien le bon terme pour désigner `public´, `private´ et
`protected´ ?
j'aimerai savoir comment faire pour qu'une struct CUSTOMVERTEX définie dans Mesh.h par exemple soit reconnue dans Engine.h quand j'include le Mesh.h dans le Engine.h.
actuellement j'ai declaré ma struct CUSTOMVERTEX dans ma classe Mesh, avant les 'private:' et 'public:' et si je veux m'en servir dans la classe Engine il la reconnait pas.
D'après ce que je comprends, tu as quelque chose du genre :
Si tu n'indiques pas de qualificateur d'accès [1], tu es par défaut dans une section privée pour les classes, et publique pour les structures. Par exemple :
class UneClass { // section privée private: // ici aussi public: // section publique } ;
Je ne sais pas si c'est là ton problème, mais peut-être essaies-tu d'accéder à la structure dans un bout de code qui n'est pas déclaré en tant qu'ami de `Mesh´.
[1] Est-ce bien le bon terme pour désigner `public´, `private´ et `protected´ ?
--drkm
lecyborg
il fallait declarer ma struc ds la partie publique de la classe, et mettre la partie publique avant la partie privee (pour utiliser le type CUSTOMVERTEX ds la section privee).
merci pour ta reponse.
il fallait declarer ma struc ds la partie publique de la classe, et mettre
la partie publique avant la partie privee (pour utiliser le type
CUSTOMVERTEX ds la section privee).
il fallait declarer ma struc ds la partie publique de la classe, et mettre la partie publique avant la partie privee (pour utiliser le type CUSTOMVERTEX ds la section privee).
merci pour ta reponse.
drkm
"lecyborg" writes:
il fallait declarer ma struc ds la partie publique de la classe, et mettre la partie publique avant la partie privee (pour utiliser le type CUSTOMVERTEX ds la section privee).
Deux petite remarques :
- en général, on réserve les noms entièrement en majuscules aux macros de préprocesseur ;
- il est souvent intéressant de mettre d'abord la partie publique, suivie de la partie privée, dans les classes et structures.
La seconde remarque vient du fait qu'elle expose d'abord clairement la partie publique, qui intéresse autant l'implémenteur de la classe que ses utilisateurs. Vient ensuite la partie privée, qui n'intéresse pas tout le monde (normalement uniquement l'implémenteur de la classe). Il est donc plus logique de mettre la section privée plus loin dans la définition de la classe.
Mais ceci est principalement une histoire de goût.
--drkm
"lecyborg" <inconnu@au.bataillon> writes:
il fallait declarer ma struc ds la partie publique de la classe, et
mettre la partie publique avant la partie privee (pour utiliser le
type CUSTOMVERTEX ds la section privee).
Deux petite remarques :
- en général, on réserve les noms entièrement en majuscules aux
macros de préprocesseur ;
- il est souvent intéressant de mettre d'abord la partie publique,
suivie de la partie privée, dans les classes et structures.
La seconde remarque vient du fait qu'elle expose d'abord clairement
la partie publique, qui intéresse autant l'implémenteur de la classe
que ses utilisateurs. Vient ensuite la partie privée, qui n'intéresse
pas tout le monde (normalement uniquement l'implémenteur de la
classe). Il est donc plus logique de mettre la section privée plus
loin dans la définition de la classe.
Mais ceci est principalement une histoire de goût.
il fallait declarer ma struc ds la partie publique de la classe, et mettre la partie publique avant la partie privee (pour utiliser le type CUSTOMVERTEX ds la section privee).
Deux petite remarques :
- en général, on réserve les noms entièrement en majuscules aux macros de préprocesseur ;
- il est souvent intéressant de mettre d'abord la partie publique, suivie de la partie privée, dans les classes et structures.
La seconde remarque vient du fait qu'elle expose d'abord clairement la partie publique, qui intéresse autant l'implémenteur de la classe que ses utilisateurs. Vient ensuite la partie privée, qui n'intéresse pas tout le monde (normalement uniquement l'implémenteur de la classe). Il est donc plus logique de mettre la section privée plus loin dans la définition de la classe.
Mais ceci est principalement une histoire de goût.
--drkm
drkm
"mohamed JBARI" writes:
tu peux définir ta structure à l'extérieur de la classe, ensuite tu peux t'en servir en déclarant une variable membre de type CUSTOMVERTEX à l'intérieur de la classe Mesh.
Il peut également la définir à l'intérieur de la classe, si c'est ce qu'il veut faire. Les deux méthodes ne sont pas équivalentes, et la solution fort simple.
--drkm
"mohamed JBARI" <smjbari@wanadoo.fr> writes:
tu peux définir ta structure à l'extérieur de la classe, ensuite tu
peux t'en servir en déclarant une variable membre de type
CUSTOMVERTEX à l'intérieur de la classe Mesh.
Il peut également la définir à l'intérieur de la classe, si c'est ce
qu'il veut faire. Les deux méthodes ne sont pas équivalentes, et la
solution fort simple.
tu peux définir ta structure à l'extérieur de la classe, ensuite tu peux t'en servir en déclarant une variable membre de type CUSTOMVERTEX à l'intérieur de la classe Mesh.
Il peut également la définir à l'intérieur de la classe, si c'est ce qu'il veut faire. Les deux méthodes ne sont pas équivalentes, et la solution fort simple.
--drkm
lecyborg
j'ai revu mon code: à cet instant, ma structure est declarée ds la section publique de ma classe Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas reconnue dans la classe Engine du fichier Engine.h dont une des premieres ligne est : #include "Mesh.h".
donc mon probleme n'est pas regle.
quand à tes remarques drkm, j'en tiendrai compte à l'avenir, spécialement lordre des sections qui me parait mieux en effet.
j'ai revu mon code:
à cet instant, ma structure est declarée ds la section publique de ma classe
Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas reconnue
dans la classe Engine du fichier Engine.h dont une des premieres ligne est :
#include "Mesh.h".
donc mon probleme n'est pas regle.
quand à tes remarques drkm, j'en tiendrai compte à l'avenir, spécialement
lordre des sections qui me parait mieux en effet.
j'ai revu mon code: à cet instant, ma structure est declarée ds la section publique de ma classe Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas reconnue dans la classe Engine du fichier Engine.h dont une des premieres ligne est : #include "Mesh.h".
donc mon probleme n'est pas regle.
quand à tes remarques drkm, j'en tiendrai compte à l'avenir, spécialement lordre des sections qui me parait mieux en effet.
drkm
"lecyborg" writes:
j'ai revu mon code: à cet instant, ma structure est declarée ds la section publique de ma classe Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas reconnue dans la classe Engine du fichier Engine.h dont une des premieres ligne est : #include "Mesh.h".
donc mon probleme n'est pas regle.
Utilises-tu bien la syntaxe suivante pour accéder à ta structure imbriquée :
Mesh::CUSTOMVERTEX
--drkm
"lecyborg" <inconnu@au.bataillon> writes:
j'ai revu mon code: à cet instant, ma structure est declarée ds la
section publique de ma classe Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas
reconnue dans la classe Engine du fichier Engine.h dont une des
premieres ligne est :
#include "Mesh.h".
donc mon probleme n'est pas regle.
Utilises-tu bien la syntaxe suivante pour accéder à ta structure
imbriquée :
j'ai revu mon code: à cet instant, ma structure est declarée ds la section publique de ma classe Mesh ds Mesh.h
cependant contrairement a ce que j'ai dit avant, elle n'est pas reconnue dans la classe Engine du fichier Engine.h dont une des premieres ligne est : #include "Mesh.h".
donc mon probleme n'est pas regle.
Utilises-tu bien la syntaxe suivante pour accéder à ta structure imbriquée :