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

C++ Discussion :

Passer une matrice comme argument dans une méthode !


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut Passer une matrice comme argument dans une méthode !
    Bonjour,

    je cherche a passer une matrice comme argument dans une méthode :
    MA méthode est :

    int MiniMax(int tab [n][m]){...}

    mais au niveau de compilation, j'ai cette erreur :
    constant expression required

    je pense que c'est imposisble de passer une matrice comme argument d'une méthode !? Pas comme au niveau de Java !!!

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 627
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Le fait est que, soit tu dois passer une matrice dont les dimentions sont constantes (par exemple void foo(int mat[5][17]), et, dans ce cas là, il ne faudra pas essayer de passer une matrice [6][25], soit, tu dois passer... un pointeur sur le premier élément de la matrice (qui sera, selon la manière dont tu a organisé la matrice, soit un pointeur, soit un pointeur de pointeur), assorti, de préférence, de la taille de chaque dimension.

    Maintenant, il serait peut être intéressant de créer une classe matrice, afin de pouvoir la passer bien plus simplement sous la forme d'une référence (éventuellement constante) indépendamment de la taille de ses dimensions ou de leur nombre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    349
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 349
    Points : 379
    Points
    379
    Par défaut
    Ou simplement utiliser std::vector que tu peux passer par référence si tu n'as pas besoin d'autres fonctionnalités. Les tableaux en C++ c'est mal

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    OK, Merci les mecs merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre une variable comme argument dans une fonction
    Par djun1 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/09/2012, 10h44
  2. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  3. passer un tableau en argument dans une fonction
    Par rogerio dans le forum Débuter
    Réponses: 6
    Dernier message: 30/10/2008, 12h15
  4. [C#] Passer des contrôles comme parametre dans une fonction
    Par sara21 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/09/2006, 13h05
  5. Passer une matrice comme paramètre d'une fonction
    Par Rniamo dans le forum Langage
    Réponses: 8
    Dernier message: 16/07/2006, 20h55

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