IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Constructeur d'une classe [Langage/Algorithme]


Sujet :

C++Builder

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut Constructeur d'une classe
    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 :
    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;
    }
    L'erreur porte sur la derni�re ligne En fait toutes les erreurs portent syst�matiquement sur le return d'une matrice.

    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 copie
    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
    …
    …
    Quelqu'un a-t-il une id�e de solution ?

    Merci

  2. #2
    Membre r�gulier
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2014
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Par d�faut
    Bonjour,

    As-tu essay� de mettre des UInt32 � la place de tes unsigned int?

    Cordialement.

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut
    Merci,
    je viens de le faire, mais j'ai encore exactement les m�mes messages aux m�mes endroits.
    Il y a donc autre chose.

  4. #4
    Membre tr�s actif Avatar de nirgal76
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2007
    Messages
    924
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 924
    Par d�faut
    En ajoutant un constructeur par copie mais avec un argument non const ?

  5. #5
    Membre �m�rite
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Par d�faut
    Bonjour,

    Peut-�tre en supprimant le "explicit" du constructeur par copie ?

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut
    Merci, je n'ai fait que ce matin l'essai de suppression de "explicit".
    Je l'ai supprim� partout o� il apparaissait.
    Il semble bien que cela ait r�solu mon probl�me.

    Je peux mettre "R�solu" sur cette question.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [POO] constructeur d'une class
    Par spirou dans le forum Langage
    R�ponses: 13
    Dernier message: 05/07/2006, 16h11
  2. [D�butant] Constructeur d'une classe
    Par chennuo dans le forum Langage
    R�ponses: 2
    Dernier message: 10/03/2006, 22h17
  3. R�ponses: 2
    Dernier message: 04/12/2005, 21h10
  4. R�ponses: 5
    Dernier message: 20/11/2005, 11h15
  5. R�ponses: 3
    Dernier message: 06/11/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo