Hirdetés
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
kemkriszt98
#4039
üzenetére
Ahogy EQMontoya mondta, a copy ctor.-nak A(const A&), az értékadó operátornak pedig A& operator=(const A&) típusúnak kell lenni. Mivel neked ilyen ctor.-od nem volt, ezért szólt a fordító. Amit te írtál az is copy ctor, csak a programodban nem volt megfelelő, mert a változót A::initFromFile("asd") fv.-el akartad inicializálni, aminek a visszatérő értéke nem balérték (nem lehet neki értéket adni, nem lehet a címét képezni,... A fv.-ek visszatérő értékei nem balértékek, hanem csak temporálisok). A C++ szabvány szerint nem balérték pedig csak konstans referenciához köthető. Ezért nem volt jó a te copy ctor.-od, és ezért jó a const referencia argumentumú copy ctor. Ugyanígy az értékadó operátorra is. Ha az inicializálás/értékadás jobboldalán nem fv. visszatérési értéke lenne, hanem egy közönséges változó (balérték), akkor a te ctor.-os és értékadó operátorod is jó lenne. Egyébként milyen fordítót használsz? Mert a MSVC a szabványtól eltérően megengedi nem balérték nem const referenciához kötését. Lehet, hogy azzal működne a programod.
Nem próbáltam ki, de szerintem itt lehet a baj.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- HIBÁTLAN iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3330, 100% Akksi
- Jura Impressa S90 Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
- Törött, Hibás iPhone felvásárlás!!
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090 - 3 év garancia
- Lenovo magyar laptop billentyűzetre van szükséged? Akármelyik verzióban segítünk!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest


