2011-02-05 20 views
-1

クラスAの静的関数(funA())にアクセスしましたが、このクラスのすべての関数は静的ですが、未定義参照エラーが発生しました。私はヘッダーを含めました未定義の参照エラーC++

助けてください。

// H file 
Class A 
{ 

static void funA(); 
}; 

// Cpp file 
void A::funA() { } 

Accessed in class B 
void B::funB() 
{ 
A::funA() 
} 
+0

実際に実装ファイルに質問を定義していますか? –

+1

実際のコードと実際のエラーを掲載してください。 –

+0

クラスAのコードを投稿して、関数をどのように呼び出すのですか! – Nawaz

答えて

0

は、あなたが正しい.libファイルが含まれていますか?

+0

私はそれを含んでいませんでした。 libファイル。付属のclassAヘッダーファイルのみ – Sijith

1

あなたのヘッダーでこのような何かを持っていることを確認してください:必要に応じて

// a.h 
class A { 
    static void funA(); 
}; 

// a.cpp 
void 
A::funA() { 
    // do something on your function 
} 
+0

それだけのこと – Sijith

0

あなたは常に

0

を使用する前に、cppのファイルに静的関数と変数をinitizalize必要がありますが、これはあなたのコンパイラエラーを与えるので、あなたが、あなたのコード内で二重の宣言を持っている可能性があります。

1

static void FunA()の前にpublic:の部分が欠けているようです。それを編集するのを忘れてしまったのか、それとも本当にあなたの.cppに欠けているのでしょうか?