Bonjour,
je vous expose mon problème.
J'ai écrit, il y a déjà longtemps, une classe sur les matrices.
Je n'ai eu aucun problème pour l'utiliser avec les différentes versions
successives de C++ Builder, y compris la version XE6 XE6 32 bits.
En compilant avec la version XE6 64 bits j'ai un grand nombre de fois l'erreur
"Aucun constructeur correspondant pour l'initialisation de TMatrice".
Par exemple :L'erreur porte sur la dernière ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TMatrice operator/(const TMatrice& b, const TMatrice& A) { TMatrice AA(A), bb(b); resoudre(AA,bb); return bb; }En fait toutes les erreurs portent systématiquement sur le return d'une matrice.
Code : Sélectionner tout - Visualiser dans une fenêtre à part return bb;
Je pense qu'il doit s'agir d'une définition du constructeur qui n'est plus valable.
Voici les constructeurs de matrices :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class TMatrice { protected: unsigned int nb_lignes, nb_colonnes; // nb de lignes et de colonnes public: double* Tableau; // tableau des coefficients rangé en lignes unsigned lignes()const;// { return nb_lignes;} unsigned colonnes()const; // { return nb_colonnes;} explicit TMatrice(); explicit TMatrice(unsigned int nl,unsigned int nc=1); // constructeur, réserve la mémoire explicit TMatrice(unsigned int nl,unsigned int nc, double *pt); // id et y transferre le tableau pt explicit TMatrice(const TMatrice& A); // constructeur par copieQuelqu'un a-t-il une idée de solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class TCMatrice { protected: unsigned int nb_lignes, nb_colonnes; // nb de lignes et de colonnes public: complex<double>* Tableau; // tableau des coefficients rangé en lignes unsigned lignes()const; // { return nb_lignes;} unsigned colonnes()const;// { return nb_colonnes;} explicit TCMatrice(); explicit TCMatrice(unsigned int nl,unsigned int nc=1); // constructeur, réserve la mémoire explicit TCMatrice(unsigned int nl,unsigned int nc, complex<double> *pt); // id et y transferre le tableau pt explicit TCMatrice(const TCMatrice& A); // constructeur par copie explicit TCMatrice(const TMatrice& A); // constructeur par copie d'une mat réelle
Merci
Partager