Destruktor klasy
Ostatnio zmodyfikowano 2017-05-21 21:23
| CTRL85 Temat założony przez niniejszego użytkownika | » 2017-05-21 20:56:47 Czemu taki konstruktor nie przechodzi? WIELOMIAN( WIELOMIAN & w ) {degree = w.degree;
 
 tab = new int[ degree + 1 ];
 
 for( int i = 0; i < degree + 1; i++ )
 tab[ i ] = w.tab[ i ];
 
 }
WIELOMIAN.cpp: In member function 'WIELOMIAN WIELOMIAN::operator<<(int)':
 WIELOMIAN.cpp:698: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 WIELOMIAN.cpp:698: error:   initializing argument 1 of 'WIELOMIAN& WIELOMIAN::operator=(WIELOMIAN)'
 WIELOMIAN.cpp: In member function 'WIELOMIAN WIELOMIAN::operator>>(int)':
 WIELOMIAN.cpp:705: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 WIELOMIAN.cpp: In member function 'WIELOMIAN& WIELOMIAN::operator<<=(int)':
 WIELOMIAN.cpp:732: warning: reference to local variable 'res' returned
 WIELOMIAN.cpp:739: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 WIELOMIAN.cpp:739: error:   initializing argument 1 of 'WIELOMIAN& WIELOMIAN::operator=(WIELOMIAN)'
 WIELOMIAN.cpp: In member function 'WIELOMIAN& WIELOMIAN::operator>>=(int)':
 WIELOMIAN.cpp:749: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 WIELOMIAN.cpp: In member function 'WIELOMIAN WIELOMIAN::operator++(int)':
 WIELOMIAN.cpp:789: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 WIELOMIAN.cpp: In member function 'WIELOMIAN WIELOMIAN::operator--(int)':
 WIELOMIAN.cpp:815: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 main.cpp: In function 'int main()':
 main.cpp:48: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 main.cpp:48: error:   initializing argument 1 of 'WIELOMIAN& WIELOMIAN::operator=(WIELOMIAN)'
 main.cpp:49: error: no matching function for call to 'WIELOMIAN::WIELOMIAN(WIELOMIAN)'
 WIELOMIAN.cpp:44: note: candidates are: WIELOMIAN::WIELOMIAN(WIELOMIAN&)
 WIELOMIAN.cpp:34: note:                 WIELOMIAN::WIELOMIAN(int*, int, int)
 WIELOMIAN.cpp:29: note:                 WIELOMIAN::WIELOMIAN()
 WIELOMIAN.cpp:10: note:                 WIELOMIAN::WIELOMIAN(int, ...)
 main.cpp:49: error:   initializing argument 1 of 'WIELOMIAN& WIELOMIAN::operator=(WIELOMIAN)'
 Numery linii mogą być złe, bo wrzucałem już sporo zmieniony kod. | 
|  | 
| michal11 | » 2017-05-21 21:23:23 Prawdopodobnie próbujesz gdzieś wywoływać te funkcje z obiektami tymczasowymi a takie nie mogą być przekazane do funkcji która oczekuje referencji, albo zrobisz konstruktor przenoszący albo kopiujący z const referencją. | 
|  | 
| 1 « 2 » |