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 actif
    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
    Points : 242
    Points
    242
    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
    Gilbert PASQUALINI

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

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

    Cordialement.

  3. #3
    Membre actif
    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
    Points : 242
    Points
    242
    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.
    Gilbert PASQUALINI

  4. #4
    Membre chevronné Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 904
    Points : 2 123
    Points
    2 123
    Par défaut
    En ajoutant un constructeur par copie mais avec un argument non const ?

  5. #5
    Membre éprouvé
    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
    Points : 1 211
    Points
    1 211
    Par défaut
    Bonjour,

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

  6. #6
    Membre actif
    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
    Points : 242
    Points
    242
    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.
    Gilbert PASQUALINI

+ 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