Два или более типов данных в спецификации спецификаторов ошибка в заголовочном файле
Я разработчик ОС, и я хотел бы скомпилировать следующее (это в файле cpu.h) с моим кросс-компилятором gcc (ver= 4.5.4)
#ifndef X86_64_CPU_H
#define X86_64_CPU_H
#include<stdint.h>
typedef struct
{
// manually secured registers
uint64_t rax;
uint64_t rbx;
uint64_t rcx;
uint64_t rdx;
uint64_t rsi;
uint64_t rdi;
uint64_t rbp;
uint64_t r8;
uint64_t r9;
uint64_t r10;
uint64_t r11;
uint64_t r12;
uint64_t r13;
uint64_t r14;
uint64_t r15;
uint64_t intr;
uint64_t error;
// secured by cpu
uint64_t rip;
uint64_t cs;
uint64_t rflags;
uint64_t rsp;
uint64_t ss;
} cpu_state;
...
#endif
но к сожалению это говорит:
HAL / x86_64 / cpu.h: 4: 1: ошибка: два или более типов данных в спецификаторах объявления
Что я делаю неправильно?
1 ответ
Решение
Обычно эта ошибка возникает, когда после объявления структуры пропущена точка с запятой. Я не вижу здесь ничего, однако возможно, что следующая структура пропустит свою точку с запятой.
typdef struct{
...
} next_struct <- missing ;