Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
698 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  probleme d'assignation de valeur avec un tableau dans une classe

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme d'assignation de valeur avec un tableau dans une classe

n°1979495
leloos
Posté le 31-03-2010 à 13:44:48  profilanswer
 

Bonjour, je debut en c++ et j'ai un petit souci.
Voila j'ai une méthode qui tente de récupérer la valeur d'un tableau, qui est lui, declaré dans une classe.
L'ennui c'est qu'a la compilation j'ai une erreur
 
Voici en gros ma classe
 
class maclasse {
 private :
 typedef struct {
  char valeur1[5];
  char valeur2[5];
 } type_maclasse;
 
 type_maclasse montab[46][2];
 
 public :
 maclasse(void);  
 ~maclasse(void);  
 int get_param(int param1, int param2);
};
 
 
Et voici le code de la méthode
 
int maclasse::get_param(int param1, int param2)
{
 char value1[5];
 value1 = montab[param1][param2].value1;      // Ligne qui pose probleme
 return 0;
}
 
Pour le moment j'en suis la et j'obtient ce message sur la ligne : "error: invalid array assignment"
 
Ma syntaxe ne doit pas etre correcte mais la j'ai beau chercher des exemples sur le net je ne vois pas ce qui cloche.
Si quelqu'un a une idée, je suis preneur.
Merci ;)

mood
Publicité
Posté le 31-03-2010 à 13:44:48  profilanswer
 

n°1979511
Elmoricq
Modérateur
Posté le 31-03-2010 à 13:52:04  profilanswer
 

C'est plus une question C que C++, ici.
Ta question se résume à ce code tout simple :

Code :
  1. char foo[5];
  2. char bar[5] = "bar";
  3. foo = bar;   // <= Erreur de compilation : left operand must be modifiable lvalue: op "="
 

"tableau1 = tableau2" ne fait pas ce que tu crois, tableau1 n'est pas une lvalue (i.e. n'est pas "assignable" ).

 

C'est le contenu du tableau qu'il faut recopier, et non le tableau lui-même.
Utilise strcpy() ou, mieux, snprintf().


Message édité par Elmoricq le 31-03-2010 à 13:54:12
n°1979582
leloos
Posté le 31-03-2010 à 16:17:31  profilanswer
 

j'ai essayé avec strcpy( value1, montab[param1][param2].value1);
Et la ça passe nickel a la compilation.  
Merci beaucoup pour ton aide ;)

n°1979616
Joel F
Real men use unique_ptr
Posté le 31-03-2010 à 17:09:18  profilanswer
 

tr1::array et boost::array permettent d'avoir des tableaux en lvalue.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  probleme d'assignation de valeur avec un tableau dans une classe

 

Sujets relatifs
[RESOLU] Problème de Makefile...Exporter un tableau Excel 2007 vers Access
[c++ / qt] freefly camera problème sourisProblème variable dans une arborescence
problème de compréhension pour ce code[PHP] foreach qui ignore des valeurs d'un tableau
Problème de rotation d'un clip en AS3commande sed problème
[fpdf] Probleme d'encodageAjout d'une valeur dans un tableau dans un tableau
Plus de sujets relatifs à : probleme d'assignation de valeur avec un tableau dans une classe


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR