Initialisation tableau dans un constructeur [Résolu]

cs_tontonzip 6 Messages postés mardi 7 novembre 2000Date d'inscription 17 avril 2005 Dernière intervention - 27 mars 2005 à 20:21 - Dernière réponse : ekinox17 66 Messages postés jeudi 6 octobre 2005Date d'inscription 18 janvier 2006 Dernière intervention
- 27 oct. 2005 à 10:37
salut à tous,

J'ai un petit souci..

J'aimerai initialiser un tableau à 1 dimensions de type GLfloat dans un contructeur d'une
classe contenant plusieurs tableau (que je dois aussi initialiser en passant).

ça c'est ma classe:


class CCoordonnee


{


public:


CCoordonnee(
void);


~CCoordonnee(
void);


GLfloat TabConstructMaison[5];


GLfloat TAbConstrucImmeuble[250];


};

La mon contrusteur (qui marche):


CCoordonnee::CCoordonnee(
void)


{


TabConstructMaison[0]=20.0;


TabConstructMaison[1]=-20.0;


TabConstructMaison[2]=10.0;


TabConstructMaison[3]=10.0;


TabConstructMaison[4]=10.0;


}

ET la le constucteur que j'aimerais faire mais qui ne marche pas:


CCoordonnee::CCoordonnee(void)


{


TabConstructMaison[5]={20.0,-20.0,10.0,10.0,10.0};


}

Merci d'avance pour vos réponses.

Tonton zip
Afficher la suite 

5 réponses

Répondre au sujet
steve_clamage 475 Messages postés dimanche 3 octobre 2004Date d'inscription 11 août 2006 Dernière intervention - 27 mars 2005 à 21:36
+3
Utile
C'est quoi ton compilateur ? (qui ne doit pas etre trés récent)



#include





class CCoordonnee

{



static const GLfloat _S_TabConstructMaison_init[5];



public:





CCoordonnee()

{

std::copy( _S_TabConstructMaison_init, _S_TabConstructMaison_init + 5, TabConstructMaison );

}







GLfloat TabConstructMaison[5];



GLfloat TAbConstrucImmeuble[250];



};



const GLfloat CCoordonnee::_S_TabConstructMaison_init[5] = {20.0,-20.0,10.0,10.0,10.0};
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de steve_clamage
steve_clamage 475 Messages postés dimanche 3 octobre 2004Date d'inscription 11 août 2006 Dernière intervention - 27 mars 2005 à 20:34
0
Utile
Il faut que le tableau avec lequel tu initialise existe, ca peut etre un memebre statique de ta classe.



#include



class CCoordonnee

{

static const GLfloat _S_TabConstructMaison_init[5] = {20.0,-20.0,10.0,10.0,10.0};



public:





CCoordonnee()

{

std::copy( _S_TabConstructMaison_init, _S_TabConstructMaison_init + 5, TabConstructMaison );

}



GLfloat TabConstructMaison[5];

GLfloat TAbConstrucImmeuble[250];

};
Commenter la réponse de steve_clamage
cs_tontonzip 6 Messages postés mardi 7 novembre 2000Date d'inscription 17 avril 2005 Dernière intervention - 27 mars 2005 à 21:07
0
Utile
Merci pour ta réponse.

Cependant j'ai toujours la même erreur à la ligne:

static const GLfloat _S_TabConstructMaison_init[5] = {20.0,-20.0,10.0,10.0,10.0};


error C2059: syntax error : '{'
Commenter la réponse de cs_tontonzip
cs_tontonzip 6 Messages postés mardi 7 novembre 2000Date d'inscription 17 avril 2005 Dernière intervention - 27 mars 2005 à 22:06
0
Utile
Je fais du C++ sous Visual Studio .net.

C'est bon j'ai reussi!!! merci à toi et bonne fin de soirée.

Tonton zip
Commenter la réponse de cs_tontonzip
ekinox17 66 Messages postés jeudi 6 octobre 2005Date d'inscription 18 janvier 2006 Dernière intervention - 27 oct. 2005 à 10:37
0
Utile
arf j'ai le me probleme que lui mais moi j'ai un probleme de link lors de l'initialisation avec std::copy

j'ai essayer *buffer = *static_buffer

mais nan il veut rien faire j'ai essayer buffer = static_buffer il me dit : cannot convert const BYTE[25] to BYTE[25]

plz donner moi une technique pour initialiser mon tableau
Commenter la réponse de ekinox17

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.