Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur operateur d'affectation =

Sujet résolu
    7 mai 2022 à 17:48:33

    Bonjour ! 

    J'ai une classe matrice et j'ai fait une surcharge de l'opérateur = mais dans mon main ça m'envoie une erreur :

    C2679 '=' binaire : aucun opérateur trouvé qui accepte un opérande de partie droite de type 'CMatrix<double>' (ou il n'existe pas de conversion acceptable)


    voici mon code pour la surcharge :


    template<class MType> CMatrix<MType> & CMatrix<MType>::operator=(CMatrix<MType>& MATParam) { // uiMATNbRow = MATParam.MATGetNbRow(); // uiMATNbColumn = MATParam.MATGetNbColumn(); MATmodifyNbRow(MATParam.MATGetNbRow()); MATmodifyNbColumn(MATParam.MATGetNbColumn()); unsigned int uiRow; unsigned int uiColumn; for (uiRow = 0; uiRow < uiMATNbRow; uiRow++) { for (uiColumn = 0; uiColumn < uiMATNbColumn; uiColumn++) { ptptMTYMATMatrix[uiRow][uiColumn] = MATParam.MATGetElement(uiRow, uiColumn); } } return *this; }

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2022 à 17:50:45

      Edite ton message et utilise le bouton </> pour mettre en forme ton code. C'est illisible.
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2022 à 19:15:28

        Bonjour,

        Ton code est un template, un code template doit être mis dans le fichier d'entête pas dans un code source (à de rares exceptions près). Si ton template est dans un source ça pourrait donner l'erreur que tu as.

        D'autre part, pourquoi définir l'opérateur =. Si tu n'en crées pas un, il y en aura un de créé par défaut et il devrait bien faire le boulot.

        -
        Edité par Dalfab 8 mai 2022 à 19:19:04

        • Partager sur Facebook
        • Partager sur Twitter

        En recherche d'emploi.

          9 mai 2022 à 7:35:24

          Bonjour,

          Merci de colorer votre code à l'aide du bouton Code

          Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue.

          Merci de modifier votre message d'origine en fonction.

          • Partager sur Facebook
          • Partager sur Twitter

          Pas d'aide concernant le code par MP, le forum est là pour ça :)

          Erreur operateur d'affectation =

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown