Aller au contenu

Trouvez l'erreur ... comment est ce possible????


debuthmx

Messages recommandés

Mais si je dis que c'est un jeu des le depart, ce serais pas amusant ....;-) en plus ce genre de titre sucite en general l'avis de tout le monde et puis je suis sur que bon nombre l'ont et que grace a vous et bien ceratin ont appris plein de chose concernant l'allocation dynamique. Je me souviens qu'a l'unif un proff nous a demander expres d'ecrire un programme qui plantait d'office. Le but etait justement de trouver l'erreur, mais bien ne n'etions absolument pas au courant. En fait c'etit de la programmation objet, le programme jonglais avec des contructeur par defaut et d'autre constructeur. Le programme etait sensé ce planter car la memoir etait desalouer deux fois. Toute les personnes qui ont jouer avec les contructeurs ont du avoir le coups au moin une fois. Et bien le plus extras c'est que chez moi, le programme ne se plantait. vous auriez du voir la tete du prof qui etait sur de lui. En fait c'etait juste lier a ma version de windows (windows 98). Depuis je me suis dis que l'allocation dynamique c'est un grand mistere ....

Bon en tout cas je vous remercie tous et desolé si certain l'ont mal interpretté, mais si vous n'etiez pas là qui aurais bien pu donner les bonnes reponses heiiin!!! J'allais quand pas faire tout le boulot tout seul!!! ;-)

Lien vers le commentaire
Partager sur d’autres sites

Tiens, tant qu'on y est ... j'ai une erreur toute simple ... (oui, là c'est pour montrer ce qui peut être marrant à faire comme jeu...)

fichier error.c :

1: int main(void)
2: {
3:      char txt1[]="Hello ";
4:      char txt2[]="world";
5:      txt1=txt2;
6:      return 0;
7: }

... on compile avec la commande :

bash# gcc error.c -ansi -pedantic -W -Werror -Wall -o error.run

... mais ça ne marche pas ...

error.c: in function 'main'
error.c:5: incompatible types in assignment

c'est peut-être les options "agressives" ... essayons

bash# gcc error.c -o error.run

... mais ça ne marche toujours pas ...

error.c: in function 'main'
error.c:5: incompatible types in assignment

(un indice ... le code suivant marche :

1: int main(void)
2: {
3:      char* txt1="Hello";
4:      char* txt2="world";
5:      txt1=txt2;
6:      return 0;
7: }

)

Lien vers le commentaire
Partager sur d’autres sites

Dans ton premier programme, cela ne fonctinne pas car tu affecte des adresses, le nom du tableau contien l'adresse du premier element du tableau (tab est equivalent a &tab[0]), il faut savoir aussi qu'un tableau n'est rien d'autre qu'un pointeur CONSTANT!!! Voila pourquoi cela ne fonctionne pas!!! Tu essaye de changer une adresse qui est scencer etre constante. Dans le second cas, le probleme ne se pose pas puisque la, tu as a faire a des pointeur ordinaire!!! Tu peut modffier l'adresse sans probleme!!!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...