Új hozzászólás Aktív témák
-
hamachi
csendes tag
-
chabeee
aktív tag
válasz
chabeee #2298 üzenetére
közben megvan a hiba. leírom hátha kell valakinek, bár nem hiszem.:
lista(const lista& eredeti): head(new Elem(CAdat())) {
head->prev = head;
head->next = head;
for(lista::iterator i = eredeti.begin(); i != eredeti.end(); i++){
this->beszur(*i);
}
}másoló konstruktor hiánya miatt fagyott ki.
-
WonderCSabo
félisten
válasz
chabeee #2291 üzenetére
Ha jól értelmezem itt az a probléma, hogy const_iteratort kérsz le. Ugye ekkor az iterátor által mutatott érték (itt egy lista) const lesz. Ezen a const listán akarsz hívni egy kiir() műveletet, ami viszont nem konstans. Emiatt nem engedi lefordítani, mivel ha a művelet nem konstans, van ra esély, hogy megváltoztassa a konstans objektumot, ami ugye szabad, hogy megtörténjen.
Két dolgot tehetsz:
- sima iterator-t kérsz el, nem const_iteratort
- const-tá teszed a kiir() muveletet (ez szebb megoldás lenne) -
WonderCSabo
félisten
válasz
chabeee #2106 üzenetére
Ez most komoly? Beraksz egy ekkora projektet ez zipben ilyen általános kérdéssel? Legalább szűkítenéd le, hogy hol keressük.
De rendes vagyok és megnéztem... Eleve nem fordul, egyrészt azért, mert a MenuBuilder* VarazsloFactory::createMenuBuilder() metódusban polimorf módon egy VarazsloMenuBuilder-t akarsz visszaadni, csak ez nem gyereke a MenuBuilder-nek. A másik probléma az, hogy hiányzik a void jatekos::elotortenet() függvény implementációja.
-
-
Jester01
veterán
-
WonderCSabo
félisten
válasz
chabeee #2083 üzenetére
Ehhez én annyit tennék hozzá, hogy gondolom azért térsz vissza az objektummal, mert szeretnéd, hogy láncolva lehessen hívni az operátort. Csak ez úgy nem fog működni, ha tagfüggvényként deklarálod.
Ha tagfényként deklarálod, például így:
class CS {
public:
CS& operator<<(int be);
};Akkor az valójában így fog "megjelenni" fordítás után:
CS & operator<<(int be, CS& cs);
Ezzel még működni fog ez a hívás:
cs << 2;
De ez már nem:
cs << 2 << 3;
Megoldás: ha szeretnéd, hogy láncolni lehessen, globális operátort kell definiálnod, így:
CS & operator<<(CS& cs, int be);
-
-
modder
aktív tag
Ú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!
- Új! Számla + 1-3ÉV Gari! Áfás! Gamer PC - Számítógép! R5 9600X / RX 9070XT / 32GB DDR5 / 1TB SSD M.2
- AKCIÓ! ASUS Z97-A Z97 chipset alaplap garanciával hibátlan működéssel
- Felújított laptopok Számlával, garanciával! Ingyen Foxpost!
- Bomba ár! Dell Latitude E7270 - i7-6GEN I 8GB I 256GB SSD I 12,5" FHD I HDMI I CAM I W10 I Gari!
- Honor Pad X8a 64GB Wifi,1 év Garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest