Witam
Zajmuję się przenoszeniem aplikacji z builder-a 6 na 2010. Szło mi w miarę sprawnie, ale wczoraj natrafiłem na błąd którego nijak nie mogę poprawić. Może ktoś z Was będzie w stanie mi pomóc.
Kompilator przy:
std::vector<SPersonAbs*> PersonAbs;
wyrzuca:
[BCC32 Error] MainDM.h(1525): E2451 Undefined symbol 'SPersonAbs'
[BCC32 Error] MainDM.h(1525): E2188 Expression syntax
[BCC32 Error] MainDM.h(1525): E2299 Cannot generate template specialization from 'vector<_Ty,_Ax>'
[BCC32 Error] MainDM.h(1525): E2270 > expected
[BCC32 Error] MainDM.h(1525): E2040 Declaration terminated incorrectly
Natomiast przy:
void SavePersonAbsence(SPersonAbs * pa);
[BCC32 Error] MainDM.h(1524): E2293 ) expected
SPersonAbs znajduje się w pliku structures.h który jest dołączony w nagłówku.
Gdy używam innych struktur z tego pliku, wszystko jest ok.
Zakomentowałem cały kod struktury i nic, więc problem raczej w niej nie leży.
Dodatkowo natrafiłem na inną „śmieszną” rzecz. W plik znajduje się struktura:
typedef struct _SKod
{
char a;
char b;
} SKod;
Dodałem drugą idnetyczną:
typedef struct _SKod2
{
char a;
char b;
} SKod2;
I o dziwo:
_SKod* test1;
_SKod2* test2;
Test 1 jest ok, natomiast przy test2 wyrzuca:
[BCC32 Error] MainDM.h(1520): E2303 Type name expected
[BCC32 Error] MainDM.h(1520): E2139 Declaration missing ;
Ktoś ma jakieś pomysły?