dynamic_cast

Uživatelský avatar
pcv
Matfyz(ák|ačka) level I
Příspěvky: 25
Registrován: 13. 6. 2005 15:24
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

dynamic_cast

Příspěvek od pcv »

caute,
mam problem s dynamic castem. Kdyz se snazim takto pretypovat pointer na predka na pointer na potomka, hodi mi to ve VS 2k3 Unhandled exception at 0x7c81eb33 in ...: Microsoft C++ exception: __non_rtti_object @ 0x0012f974. a zahlouba se to do knihovny dbgheap.c

A to vse dokonce i na prikladu z msdn:

Kód: Vybrat vše

class B { 
public: 
	virtual ~B(){} 
};
class D : public B { 
public:
	virtual ~D() {}  
};

B* pb = new D;              // unclear but ok
  B* pb2 = new B;

  D* pd = dynamic_cast<D*>(pb);    // ok: pb actually points to a D

Pomuzete mi nekdo prosim?
johnny
Donátor
Donátor
Příspěvky: 95
Registrován: 13. 12. 2005 00:31
Typ studia: Informatika Mgr.
Bydliště: Trója

Příspěvek od johnny »

Zatím jsem přišel jen na to, že je třeba překladači dát parametr "/GR". Co znamená, se mi už nechtělo hledat.
project -> properties -> C/C++ -> Command line -> "/GR"
Uživatelský avatar
pcv
Matfyz(ák|ačka) level I
Příspěvky: 25
Registrován: 13. 6. 2005 15:24
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

dik

Příspěvek od pcv »

ooo, dekuji Ti, velky cpp magu :wink: . Uz to funguje.
Zkusim zapatrat, co to znamena.
Uživatelský avatar
wintermute
Matfyz(ák|ačka) level III
Příspěvky: 153
Registrován: 23. 5. 2005 22:06
Typ studia: Informatika Mgr.

Příspěvek od wintermute »

Tipoval bych, že to zapíná RTTI.
Uživatelský avatar
twoflower
Supermatfyz(ák|ačka)
Příspěvky: 445
Registrován: 22. 9. 2004 21:07
Typ studia: Informatika Ph.D.
Kontaktovat uživatele:

Příspěvek od twoflower »

wintermute píše:Tipoval bych, že to zapíná RTTI.
Presne tak.
Odpovědět

Zpět na „2005“