Hogyan lehetne egy int és egy pointer függvényt normálisan túlterhelni?
void Delete(const unsigned int index);
void Delete(T* p_data);
Ez a kód mindaddig működik, amíg azt nem írod, hogy:
Delete(0);
Mert int is lehet, és pointer is lehet 0, ilyen esetben a kód nem fut le.
Esetleg adjam át referencia szerint a másodiknak, majd a pointert a függvénytörzsön belül nyerjem ki, vagy van erre megfelelő elegánsabb megoldás?
Nem azért, de ezek mintha teljesen mást csinálnának, nem?
Az egyik index alapján töröl valami tömbből gondolom, a másik meg valami memóriacím alapján.
Legyen külön neve a két függvénynek.
Nem vagyok jártas nagyon a C++ban.
De tudom, hogy van kosztolás és null pointer. Gondolom ez egy speciális eset, amit le kell kezelni manuálisan.
De keres rá stackoverflow-on. Biztos van már fent hasonló kérdés.
ma 10:12
De mindkettő ugyanazt csinálja, kivesz a tömbből egy elemet végső soron.
A legjobb az lenne amit kitudtam találni, ha lenne egy függvény, ami memóriacím alapján visszatér egy indexel, amit már az int alapú delete letud törölni, pl:
Delete(Get_Index(&object));
ilyenkor nem kell a pointer alapú Delete függvény.
Hát nem tudom, nekem nagyon nem világos ez a koncepció.
De szerintem sokkal tisztább lenne a DeleteByIndex(int) és Delete(T*) elnevezés.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!