есть код:
35: struct my_block
36: {
37: my_block *p_next;
38: my_block *p_prev;
39: int i_flags;
40: };
и как результат, при компиляции ошибка.
error C2061: syntax error : identifier 'my_block' d:\temp\include\my_block.h 37
Есть мысли как это компилить?
Здравствуйте, algama, Вы писали:
A>есть код:
A>A>35: struct my_block
A>36: {
A>37: my_block *p_next;
A>38: my_block *p_prev;
A>39: int i_flags;
A>40: };
A>
A>и как результат, при компиляции ошибка.
A>error C2061: syntax error : identifier 'my_block' d:\temp\include\my_block.h 37
A>Есть мысли как это компилить?
Все нормально компилиться должно. Посмотри, что у тебя в коде выше этого места.
Здравствуйте, algama, Вы писали:
A>есть код:
A>A>35: struct my_block
A>36: {
A>37: my_block *p_next;
A>38: my_block *p_prev;
A>39: int i_flags;
A>40: };
A>
A>и как результат, при компиляции ошибка.
A>error C2061: syntax error : identifier 'my_block' d:\temp\include\my_block.h 37
A>Есть мысли как это компилить?
struct my_block
{
struct my_block *p_next;
struct my_block *p_prev;
int i_flags;
};
или вот так ещё компилится
typedef struct __my_block MYBLOCK;
typedef struct __my_block
{
MYBLOCK *p_next;
MYBLOCK *p_prev;
int i_flags;
}MYBLOCK;
Здравствуйте, algama, Вы писали:
A>есть код:
A>A>35: struct my_block
A>36: {
A>37: my_block *p_next;
A>38: my_block *p_prev;
A>39: int i_flags;
A>40: };
A>
A>и как результат, при компиляции ошибка.
A>error C2061: syntax error : identifier 'my_block' d:\temp\include\my_block.h 37
A>Есть мысли как это компилить?
Какой язык?
В С++ это должно компилиться в оригинальном варианте. Отсюда я делаю вывод, что ты пытаешься компилить это именно как С код. В С это действительно компилиться не должно. Можно либо
struct my_block
{
struct my_block *p_next;
struct my_block *p_prev;
int i_flags;
};
либо
typedef struct my_block my_block;
struct my_block
{
my_block *p_next;
my_block *p_prev;
int i_flags;
};
Если твой заголовочный файл предназначен для компиляции как в С коде, так и в С++ коде, то эти два варианта также легальны и в С++.