Ik zit hier met een beetje een vaag probleem. Ik kan wel om het probleem heen werken, maar niet echt verklaren.
Ik heb een programma waar ik een namespace in declareer genaamd ServerUtils. Daarin heb ik een const _bstr_t NO_ERROR declaratie die een lege string bevat (inhoud is trouwens niet echt belangrijk). Nu dacht ik altijd dat variabelen/klasses/etc binnen een namespace uniek waren, maar elke keer als ik dus de naam NO_ERROR wil gebruiken krijg ik de errors:
Nu blijkt NO_ERROR gedefinieerd te zijn als 0L door Microsoft, maar ik dacht gezien het feit dat het binnen een namespace is, moet dat niet uitmaken.
Is het dan zo dat een define een variabele declaratie override ofzo? Lijkt me de enige logische verklaring...
Ik heb een programma waar ik een namespace in declareer genaamd ServerUtils. Daarin heb ik een const _bstr_t NO_ERROR declaratie die een lege string bevat (inhoud is trouwens niet echt belangrijk). Nu dacht ik altijd dat variabelen/klasses/etc binnen een namespace uniek waren, maar elke keer als ik dus de naam NO_ERROR wil gebruiken krijg ik de errors:
en dan heb ik deze code in m'n cpp file:error C2143: syntax error : missing ';' before 'constant'
fatal error C1004: unexpected end of file found
code:
1
2
3
4
| namespace ServerUtils
{
const _bstr_t NO_ERROR( "");
} |
Nu blijkt NO_ERROR gedefinieerd te zijn als 0L door Microsoft, maar ik dacht gezien het feit dat het binnen een namespace is, moet dat niet uitmaken.
Is het dan zo dat een define een variabele declaratie override ofzo? Lijkt me de enige logische verklaring...
"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs