Problème de déclaration de tableaux
Je vais pas tarder à "craquer" comme il est de rigueur de dire dans ces cas là...
Cette année, j'ai fait plusieurs mois de C++ sous linux, des programmes console à la pelle etc...
J'arrive en stage, on me dit, "faut faire un programme, avec interface graphique" (là je pense "visual + MFC"), et "y aura des calculs sur des matrices, etc..." (là je pense C++). J'ai pas mal programmé donc en C et C++ (console), et je me débrouille en Delphi et VB (jamais eu le moindre problème avec ces deux là).
Et là, depuis mercredi, j'ai attaqué le Visual C++. :aie: :aie: :aie: :aie: :aie: :aie:
Je suis complètement pommé, j'ai même pas l'impression que c'est le même langage, le compilateur m'envoie des erreurs à tout va, alors que mon code correspond bel et bien à du C++... Je me sens bien mal.
La dernière en date, qui m'a poussé à écrire un post de plus (bientot je vais passer le plus gros de mon temps à poster plutot qu'à coder...) c'est ça :
Code:
1 2 3 4 5 6 7 8
| private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
int i,j;
i = 2;
j = 4;
double matA[i][j];
}
}; |
Tout bête, je clique sur un bouton, et ça déclare un tableau de dimensions i et j.
Et bien non, monsieur Visual C++ veut pas ! :
Code:
1 2 3 4 5 6
| c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2057: expression constante attendue
c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2466: impossible d'allouer un tableau de taille constante 0
c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2057: expression constante attendue
c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2466: impossible d'allouer un tableau de taille constante 0
c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2087: 'matA' : indice manquant
c:\documents and settings\lustrement\bureau\essai_multi\essai_multi\Form1.h(90) : error C2133: 'matA' : taille inconnue |
J'ai pas le droit de déclarer un tableau de dimensions disons "non constantes"
Enfin bref, je peux pas (c'était l'utilisation que je voulais en faire) créer une fonction, qui prend en paramètre un tableau et ses dimensions, et dans cette fonction redéclarer un autre tableau qui utilise ces dimensions ... c'est pas clair : je m'explique :
Exemple de fonction qui fait la transposée d'une matrice :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
double transp(double matA, int m, int n)
{
double matB[n][m];
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
matB[j][i] = matA[i][j];
}
}
return(matB);
} |
Bref, c'est bon, j'ai vu visual C++, et je suis pas là d'y retoucher. Enfin, j'ai encore 4 semaines à galérer....