我正在编写一个需要与一些外部汇编器函数接口(interface)的操作系统。我将声明放在标题中:

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
        {
        //...

运行代码后,它将产生



我之前从未见过此错误,有关如何解决此问题的任何想法?

最佳答案

    extern void gdt_flush(u32int);

您不能在类(class)中像这样说externextern是一个存储类,它解释了您所看到的消息。

08-15 23:06