ISO c++ forbids assignment of arrays

divincodino Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
 karim -
Bonjour,
voila mon probleme :

c'est le message de c++ "ISO c++ forbids assignment of arrays


premiers cas de figure:::


#include <stdio.h>
#include <stdlib.h>
main()
{int i;
struct personne
{int Num;
char Nom[6];
};
struct personne P[3];
for (i=0; i<=3; i++)
{ P[i].Num = i;
P[i].Nom = "kikak"; /*iso c++ forbids assignment of arrays*/
}
for (i=0; i<=3; i++)
{ printf ("%d %s \n", P[i].Num, P[i].Nom);
}
scanf("%d",i);
}


sinon c'est laffichage qui fait deffault

#include <stdio.h>
#include <stdlib.h>
main()
{int i;
struct personne
{int Num;
char Nom[6];
};
struct personne P[3];
for (i=0; i<=3; i++)
{ P[i].Num = i;
P[i].Nom[0] = 'k';
P[i].Nom[1] = 'i';
P[i].Nom[2] = 'k';
P[i].Nom[3] = 'a';
P[i].Nom[4] = 'k';
}
for (i=0; i<=3; i++)
{ printf ("%d %s \n", P[i].Num, P[i].Nom);
}
scanf("%d",i);
}
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
En C, la copie de tableau se fait avec strncpy et non avec l'opérateur égal ;)
Cdlt
1
divincodino Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
merci boss
0
karim
 
oui mrc fiddy.
j'avai le meme problem et ca a marché avec le strncpy
0