Класс хранения, указанный для 'gdt_flush' - PullRequest
1 голос
/ 02 января 2012

Я пишу операционную систему, которая должна взаимодействовать с некоторыми функциями внешнего ассемблера. Я поместил объявление в шапку:

namespace Kernel
{
    class DescriptorTables
    {
        public:
        void init();
        void gdt_set_gate(s32int,u32int,u32int,u8int,u8int);
        private:
        extern void gdt_flush(u32int);
        struct gdt_entry_struct
        {
        //...

Когда код запускается, он выдает

DescriptorTables.h: 10: 31: ошибка: класс хранения указан для 'gdt_flush'

Я никогда раньше не видел эту ошибку. Есть идеи как это исправить?

1 Ответ

2 голосов
/ 02 января 2012
    extern void gdt_flush(u32int);

Вы не можете сказать extern так в классе. extern - это класс хранения, который объясняет сообщение, которое вы видите.

...