[ MarkoBalkan @ 18.10.2009. 19:57 ] @
ovo je jedna linija koda iz jednog programa.

hr=CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&m_pGB);


ono što mi nije jasno jest

što predstavlja ovo (void **)&m_pGB) ?

ovo nije jasno pa ako netko može objasniti.
[ Mihajlo Cvetanović @ 18.10.2009. 20:43 ] @
Kastovanje u (void**) je višak, radiće i bez toga. To je kastovao neko ko nije 100% u svoje znanje, pa je razmišljao "da ga ja kastujem za svaki slučaj, 'leba ne jede". A što drugi čitaju taj kod, pa se pitaju šta je sad ovo, to nikom ništa.
[ deerbeer @ 20.10.2009. 08:10 ] @
Citat:

Kastovanje u (void**) je višak, radiće i bez toga ..

Nije visak, kompilacija ne prolazi zbog type mismatch-a ..
[ Mihajlo Cvetanović @ 20.10.2009. 20:36 ] @
U pravu si, sad sam proverio. Ako je parametar neke funkcije void* onda se ne buni što nema kastovanja, ali za void** se buni. Postoji pravilo da kompajler automatski kastuje pointer-na-bilo-šta u pointer-na-void, pa sam nepravilno pretpostavio da isto važi i za pointer-na-pointer-na-void. Greška.