2012-01-02 35 views
1

我正在編寫一個需要與某些外部彙編程序函數接口的操作系統。我把聲明的標題:爲'gdt_flush'指定的存儲類別

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: error: storage class specified for 'gdt_flush'

我從來沒有見過這個錯誤,就如何解決這一問題的任何想法?

+0

我不完全確定你想要'gdt_flush()'來實現,但我最好的猜測是你想重新實現它的功能;爲此,你需要'虛擬'。 – Olipro 2012-01-02 05:48:19

回答

2
extern void gdt_flush(u32int); 

你不能說類似於一個班級中的externextern是一個存儲類,它解釋了您所看到的消息。

+0

謝謝你的回答! – 2012-01-02 05:38:05