C: Fonction de permuter les valeurs dans le tableau 2D

Je suis en train d'écrire une fonction pour permuter les 2 éléments dans un tableau 2D:

void swap(int surface[][], int x1, int y1, int x2, int y2) {
    int temp = surface[x1][y1];
    surface[x1][y1] = surface[x2][y2];
    surface[x2][y2] = temp;
}

cependant, lorsque j'essaie de le compiler (gcc), j'obtiens ce message d'erreur:

Sim_Annealing.c: In function `swap': 
Sim_Annealing.c:7: error: invalid use of array with unspecified bounds
Sim_Annealing.c:8: error: invalid use of array with unspecified bounds
Sim_Annealing.c:8: error: invalid use of array with unspecified bounds
Sim_Annealing.c:9: error: invalid use of array with unspecified bounds

Est-il quelque chose de magique que j'ai à faire afin d'avoir un tableau 2D comme paramètre d'une fonction?

Merci pour votre aide. Si vous connaissez des bonnes références pour les tableaux comme paramètres de la fonction envoyer à ma façon 🙂

  • S'il vous plaît poster un commentaire lorsque vous votez à près pour "copie exacte" en disant que c'est une copie exacte de.
  • Vous pouvez voir une liste de doublons en cliquant sur "fermer" puis de voter "copie exacte". Dans ce cas, la personne qui pose cette question: stackoverflow.com/questions/4051/...
  • Les utilisateurs qui n'ont pas assez de rep à voter pour fermer ne parvenez pas à visualiser le projet de double de cette façon, cependant. Dans beaucoup de cas, qui va inclure la personne qui a posé la question à l'origine.
  • Vous pouvez toujours voter pour fermer vos propres questions, peu importe la réputation. Donc vous pouvez voir la proximité des motifs sur vos propres questions avant de elle est fermée.
  • Ok, j'ai ajouté un exemple d'utilisation de l'complètement généralisée de longueur variable de la matrice de paramètres qui ont été introduites avec le C99. Attention, C99 n'a pas été largement pris en charge au début et à la plupart des implémentations ne sont pas encore complètement conforme.
InformationsquelleAutor Nope | 2009-09-30