2012-01-02 1 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()'で何をしたいのかよく分かっていませんが、その機能を再実装できるようにしたいと思っています。そのために、あなたは 'virtual'を望むでしょう。 – Olipro

答えて

2
extern void gdt_flush(u32int); 

クラス内のようなexternとは言えません。 externは、表示しているメッセージを説明するストレージクラスです。

+0

お返事ありがとう! –

関連する問題