IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Probleme de pointers et de visual .net


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Par défaut Probleme de pointers et de visual .net
    Bonjour,

    Actuellement je travaille sur un projet de labyrinthe en 3D pour mon universite en Irlande (oui les projets sont sympas), mais helas j'ai quelques petits problemes avec le code suivant sous visual .net :

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Maze::Maze (Maze& m) 
    	//Description: constructor by copy
    	//if m is the same object as the object construct so
    	//the object is construct qith a size of 0 and a NULL pointer
    	//Arguments: 
    	//	m: maze to copy 
    	//Return: none
    	//Contract: none
    {
    	if (&m != this)
    	{
    		this.width = m.getWidth() ; 
    		this.height = m.getHeight() ; 
    		this.nbLayer = m.getNbLayers() ; 
     
    		//copy of the structure
    		this.mazeStructure = new int **[m.getNbLayers()] ; 
    		for (int i = 0; i < m.getNbLayers(); i++)
    		{
    			mazeStructure[i] = new int *[m.getHeight()] ; 
    		}
     
    		for (int i = 0; i < m.getNbLayers(); i++)
    		{
    			for (int j = 0; j < m.getHeight(); j++)
    			{
    				mazeStructure[i][j] = new int [m.getWidth()] ; 
    			}
    		}
     
    		//copy of the data
    	}
    	else
    	{
    		width = 0 ; 
    		height = 0 ; 
    		nbLayer = 0 ;
     
    		mazeStructure = NULL ; 
    	}
    }


    en sachant que mazeStructure est : int *** mazeStructure ;

    Et les erreurs sont les suivantes :
    f:\Maze\Maze\Maze\Maze.cpp(90): error C2228: left of '.width' must have class/struct/union type
    f:\Maze\Maze\Maze\Maze.cpp(91): error C2228: left of '.height' must have class/struct/union type
    type is 'Maze *const '
    did you intend to use '->' instead?
    f:\Maze\Maze\Maze\Maze.cpp(92): error C2228: left of '.nbLayer' must have class/struct/union type
    type is 'Maze *const '
    did you intend to use '->' instead?
    f:\Maze\Maze\Maze\Maze.cpp(95): error C2228: left of '.mazeStructure' must have class/struct/union type
    type is 'Maze *const '
    did you intend to use '->' instead?

    Est ce que quelqu'un a une suggestion a me faire ?

    Merci beaucoup

    Xavier

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 577
    Par défaut
    j'ai pas regardé le code en détail, mais :
    this est un pointeur sur l'objet courant, donc il faut utiliser this->Width,
    this->Height, ...

    Citation Envoyé par feltin
    did you intend to use '->' instead?
    Xavier
    heu je suis pas bilingue, ni Irlandais , mais bon ça te donnais quand même une piste non ?

    @+

  3. #3
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    int *** mazeStructure ;


    Bonne réponse pour olive_le_malin !

  4. #4
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Par défaut Thanks
    Oui pas faux !

    Merci bien

  5. #5
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par défaut
    Pour développer ce que dit Patriarch24:
    int *** mazeStructure ;
    est une hérésie à condamner le plus rapidement possible dans la courbe d'apprentissage.

    utiliser les conteneurs des bibliothèques reconnues plutôt que des structures 'C-style'. std::vector, boost::multi_array, etc.

    une telle structure de donnée, qui mélange des notions différentes (id du joueur, localisation) mérite d'être encapsulée dans une classe dédiée. C'est l'esprit du développement orienté objet.

Discussions similaires

  1. [Renseignement Visual.NET]
    Par MonsieurAk dans le forum Windows
    Réponses: 1
    Dernier message: 09/06/2005, 21h04
  2. Probleme avec debuggeur Visual Net 2003
    Par 0xYg3n3 dans le forum MFC
    Réponses: 8
    Dernier message: 15/05/2005, 22h11
  3. Réponses: 3
    Dernier message: 17/02/2005, 08h37
  4. Visual .NET et MYSQL
    Par voltx4 dans le forum MFC
    Réponses: 4
    Dernier message: 17/12/2004, 22h58
  5. DX 9 et visual.net 2005 ?
    Par ilimo dans le forum DirectX
    Réponses: 1
    Dernier message: 27/07/2004, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo