Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Operator Overloading: Problema
Forum - C/C++ - Operator Overloading: Problema

Avatar
Matthew (Member)
Expert


Messaggi: 387
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 17:32
Lunedė, 06/07/2009
Ciao a tutti,
ho fatto l'overloading dell'operatore + nel seguente modo:
Codice sorgente - presumibilmente VB.NET

  1. class MyClass
  2. {
  3. public:
  4.    ....
  5.    MyClass operator +(MyClass);
  6. }
  7.  
  8. MyClass MyClass::operator+(MyClass n)
  9. {
  10.         MyClass res;
  11.         .....
  12.         return res;
  13. }
  14. }



Il compilatore mi restituisce il seguente errore: "la classe di riferimento non ha un costruttore di copia definito dall'utente"

Non ho capito cosa vuole dire...
Io ho sempre programmato in C# ed era tutto pių semplice...
:rotfl:

Ultima modifica effettuata da Matthew il 06/07/2009 alle 17:34
PM Quote
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Segnala al moderatore
Postato alle 18:14
Lunedė, 06/07/2009
per prima cosa visto che nell'errore si parla di costruttori sarebbe anche sensato postare il codice del costruttore e non solo i tre puntini

comunque invece di

Codice sorgente - presumibilmente C/C++

  1. MyClass operator+(MyClass);



prova a mettere

Codice sorgente - presumibilmente C/C++

  1. MyClass & operator +(const MyClass &);





Ultima modifica effettuata da lorenzo il 06/07/2009 alle 18:15
PM Quote
Avatar
Matthew (Member)
Expert


Messaggi: 387
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 22:50
Lunedė, 06/07/2009
Ok ho fatto come dicevi tu e ora sembrerebbe funzionare! Grazie mille...

Ultima modifica effettuata da Matthew il 07/07/2009 alle 0:08
PM Quote