bmaxa
Legenda
- Poruka
- 70.808
Elem izgubio sam vise sati pre jedno godinu dana na debagovanje "duhova" zbog toga sto
privatnu srtukturu nisam stavio pod namespace {}.
Elem. struct Data{ pa tu nesto } defnisano u cpp fajlu.
I nista globalno definisano sve void f(){ Data d;... }
I gle puca program na sve strane, debager, pokazuje gluposti nista jasno.
I onda pogledam ms dns headere. Ladno void dnsf(Data*) na pr.
Sta to znaci: forward deklaracija a implementacija u nekom ms dll-u.
I sta se desava? ms linker umesto sa mojom Data linkuje sa ms ovom data
I eto, samo da kazem, desi se da neko cesto koristeno ime neko drugi na pr ms
ubaci u svoj lib, i eto skoro neotkrivi bug. Dakle sve sto ide u cpp fajl
obavezno pod namespace
privatnu srtukturu nisam stavio pod namespace {}.
Elem. struct Data{ pa tu nesto } defnisano u cpp fajlu.
I nista globalno definisano sve void f(){ Data d;... }
I gle puca program na sve strane, debager, pokazuje gluposti nista jasno.
I onda pogledam ms dns headere. Ladno void dnsf(Data*) na pr.
Sta to znaci: forward deklaracija a implementacija u nekom ms dll-u.
I sta se desava? ms linker umesto sa mojom Data linkuje sa ms ovom data

I eto, samo da kazem, desi se da neko cesto koristeno ime neko drugi na pr ms
ubaci u svoj lib, i eto skoro neotkrivi bug. Dakle sve sto ide u cpp fajl
obavezno pod namespace
