SegFault ennuyante :s - C++ - Programmation
Marsh Posté le 11-02-2010 à 19:55:42
Il me semble que boost est une librairie, je dois codé en évitant ça.
Je ne connais pas vector, en quoi cela pourrait-il m'aider ?
Marsh Posté le 11-02-2010 à 20:06:22
Heu, faudrait commencer par les bases du C, là.
"unsigned short ** tab" ce n'est pas pareil que "unsigned short tab[nbCols][nbLig];" (le warning que tu as supprimé avec ton cast, ce n'était pas juste pour faire te chier).
Bref, je déclarerais la fonction FillTab de la manière suivante :
Code :
|
Contrairement à ce que le prototype laisse penser, le tableau sera transmit par addresse et non par valeur.
Il faut aussi que nbLig ne soit pas une variable, dans le cas contraire, passe par la STL.
Ah et aussi en général, pour les tableaux à 2 dimensions, on utilise la première pour les lignes et la seconde pour les colonnes.
Marsh Posté le 11-02-2010 à 20:23:37
En effet tpierron, merci ca marche super !
J'aurais pas crut que le tableau serait transmit par adresse et non par valeur comme le prototypage le laisse penser..
Bizarre.
@+
Marsh Posté le 11-02-2010 à 22:08:30
tpierron a écrit : |
Ca depends de ce que tu fais hein
Marsh Posté le 13-02-2010 à 21:31:42
d'où l'utilisation du terme "en général" j'imagine
Marsh Posté le 11-02-2010 à 19:34:16
Bonjour,
Voici mon code :
Voilà en gros mon programme, j'ai un Tab à 2D que je passe par adresse à une fonction qui va le remplir.
A l'éxécution j'ai cette erreur :
Exception non gérée à 0x00b84db9 : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0xcccccccc.
Normal, il ne connait pas la taille de tab.
Comment faire pour rectifier cela ?
Merci.