Erreur de compilation - Invalide types de 'char[int]" pour indice de tableau
Je suis en train de travailler sur un programme qui fait la matrice de mathématiques. Heureusement, le code de la logique n'est pas ce qui me donne des erreurs.
Je suis en utilisant le code suivant à la sortie d'une matrice qui est stocké dans un tableau 2d:
void ouputMatrix(char arr[], int matrixRows, int matrixColumns) {
for (int a=0; a<matrixRows; a++) {
for (int i=0; i<matrixColumns; i++) {
cout << arr[a][i] << " ";
}
cout << endl;
}
cout << endl;
}
Cependant lorsque j'essaie de compiler ce code, je me suis dit:
"Dans la fonction" void outputMatrix(char*, int, int)':
[Erreur] non Valide types de 'char[int]" pour indice de tableau.
Le type d'erreur me laisse croire que je suis absent quelque chose d'évident en ce qui concerne c++, la syntaxe de tableau ou quelque chose comme ça, mais je ne peux pas le comprendre. Ce que je fais mal?
arr[a]
est unchar
. Vous ne pouvez pas faire[i]
sur unchar
. Je suppose que vous vouliez passer un tableau 2d au lieu dechar arr[]
- Ahh, c'est probablement mon problème. Je vais poster une réponse à cela une fois que je figure sur la syntaxe correcte.
- Il avait de l'aide si vous postez permet de définir et initialiser votre matrice
Vous devez vous connecter pour publier un commentaire.
Si vous essayez de passer un 1-D tableau de fonctionner comme cela, alors il est parfait ce que tu as fait, mais dans le cas où vous essayez de passer 2-D de la matrice de u besoin de passer le tableau avec sa syntaxe valide, ce qui n'est pas comme le 1-D
c'est à dire
return_type function_name(dataType arrayName[100],int size)
dans le cas où vous pouvez également laisser les indices '[]' vide, pour les 1-D tableau SEULEMENT,
mais pour la 2-D tableau, il serait
return_type function_name(dataType arrayName[100][100],int rowSize,int colSize)
cependant, vous pouvez également laisser les indices '[]' est vide ici aussi, mais seulement le 1er [] et 2ème doivent contenir une certaine valeur en elle.
en fait, il n'a pas d'importance ce que la valeur que vous avez passé en 2ème indices, mais une certaine valeur devrait être il y, il suffit de passer une valeur à laquelle votre 2-D tableau ne serait pas dépasser.
Et la syntaxe va continuer comme ça pour les autres dimensions de la matrice.
Espérons que cela fonctionnera pour vous.
Le problème était que j'étais en train de passer d'un tableau multidimensionnel dans la fonction, mais utilisé de la même syntaxe que je le ferais pour un 1-d de la matrice. Depuis le tableau a une taille de 100 (ce qui n'est pas quelque chose que vous pourriez connaître basé sur ma question, désolé...) la façon correcte de le passer c'est: