Error: incompatible types in assignment

Résolu
l0st3d Messages postés 205 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 13 novembre 2009 - 6 juil. 2008 à 18:00
l0st3d Messages postés 205 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 13 novembre 2009 - 6 juil. 2008 à 18:34
Salut à tous, j'essaie de copier un array de char vers une autre et je recois l'erreur "error: incompatible types in assignment"

dans cette fonction

int Register(char *sName,int FromAddr, int ToAddr)                                             
{
    COUNT++;
    if (COUNT == ALLOC_S) return -2;
    CORE[COUNT].Name = sName;                                                                                                      <<<<<< ICI
    printf("[core]  %d byte registered\t %s\t\n",ToAddr - FromAddr,CORE[SUBCOUNT].Sub_Name);
    WritePrimalToCore(FromAddr,ToAddr);
    return SUBCOUNT;
}

sName pointe vers un tableau de 64 enregistrer dans une autre fonction
et CORE[SUBCOUNT].Sub_Name est un tableau de char de 64 aussi.

sa fais un petit bout que je suis bloquer la, les tuto ne me sont d'aucune utilité car j'ignore la nature du problème :(
merci de m'aider!

2 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
6 juil. 2008 à 18:27
Salut
CORE[COUNT].Name  et  sName sont 2 variables différentes allouées statiquement.il faut donc que tu copies tous les caractères de sName dans CORE[COUNT].Name.
strcpy(CORE[COUNT].Name,sName); au lieu de CORE[COUNT].Name = sName; 

A+
Mon site internet : http://pistol.petesampras.free.fr
3
l0st3d Messages postés 205 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 13 novembre 2009
6 juil. 2008 à 18:34
Super, un gros gros merci à toi!
0
Rejoignez-nous