我正在编写一个需要与某些外部汇编程序函数接口的操作系统。我把声明放在标题中:
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'指定的存储类
我之前从未见过这个错误,有关如何解决这个问题的想法吗?
答案 0 :(得分:2)
extern void gdt_flush(u32int);
你不能在课堂上说extern
。 extern
是一个存储类,它解释了您正在看到的消息。