- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen TV-t vegyek?
- Fejhallgató erősítő és DAC topik
- Kormányok / autós szimulátorok topikja
- Plazma TV topic
- Épített vízhűtés (nem kompakt) topic
- A Linux támogatását vágja meg leginkább az Intel leépítése
- Milyen egeret válasszak?
- RAM topik
- NVIDIA® driverek topikja
Ú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
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Kingston FURY Renegade KF426C15RBK2/64 (128GB KIT)
- Újszerű Samsung Galaxy Tab S8 5G (128GB) 1 ÉV Garancia!
- Csere-Beszámítás! Garancia! Steam Deck OLED 1TB Kézikonzol!
- Csere-Beszámítás! Garancia! Steam Deck LCD 512GB + 256GB Ajándék Micro SD Kártya!
- Kolink riser 30cm gen5.0 vadiúj kábelek bolti ár feléért
Állásajánlatok
Cég: FOTC
Város: Budapest