Есть структура
typedef struct _HEADER_ {
LPTSTR lptcHeaderName;
UINT iHeaderWidth;
UINT iAlignText;
BOOL bAutoSize;
STLArray <LPsHeader> lpsSubHeaders;
} tsHeader, *LPsHeader;
При компиляции выдает ошибку что LPsHeader не объявленный идентификатор.
Как можно решить данную проблему?
Здравствуйте, Niten, Вы писали:
N>Как можно решить данную проблему?
typedef struct _HEADER_ {
LPTSTR lptcHeaderName;
UINT iHeaderWidth;
UINT iAlignText;
BOOL bAutoSize;
STLArray <_HEADER_*> lpsSubHeaders;
} tsHeader, *LPsHeader;
Здравствуйте, Caracrist, Вы писали:
C>Здравствуйте, Niten, Вы писали:
N>>Как можно решить данную проблему?
C>C>typedef struct _HEADER_ {
C> LPTSTR lptcHeaderName;
C> UINT iHeaderWidth;
C> UINT iAlignText;
C> BOOL bAutoSize;
C> STLArray <_HEADER_*> lpsSubHeaders;
C>} tsHeader, *LPsHeader;
C>
Сидел тупил целый день

Спасибо огромное.
Помогло.
Здравствуйте, Niten, Вы писали:
N>Есть структура
N>N>typedef struct _HEADER_ {
N> LPTSTR lptcHeaderName;
N> UINT iHeaderWidth;
N> UINT iAlignText;
N> BOOL bAutoSize;
N> STLArray <LPsHeader> lpsSubHeaders;
N>} tsHeader, *LPsHeader;
N>
N>При компиляции выдает ошибку что LPsHeader не объявленный идентификатор.
N>Как можно решить данную проблему?
Зачем писать на С++ в сишном стиле, если, конечно, это не поддержка легаси-кода?
Но допустим, так надо.
Тогда или пишем честно и некрасиво, подставляя искомый тип как есть
STLArray<_HEADER_*>
или даже STLArray<struct _HEADER_ *> — чтобы совсем аутентично по-сишному было
или красиво (и вполне по-сишному!), используем forward declaration
typedef struct _HEADER_ tsHeader, *LPsHeader;
struct _HEADER_ { ..... STLArray<LPsHeader> ..... };
ну и еще никто не упомянул, что называть свои структуры зарезервированными именами не есть хорошо