Error: incompatible types in assignment [Résolu]

Signaler
Messages postés
206
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
13 novembre 2009
-
Messages postés
206
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
13 novembre 2009
-
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

Messages postés
1054
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
6
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
Messages postés
206
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
13 novembre 2009

Super, un gros gros merci à toi!