0

bool、配列へのポインター、および文字列を受け取るクラスのコンストラクターがあります。

TheConstructor(bool theBool=true, int *theArray=0, std::string message="0");

これはヘッダーファイルに書き込む正しい方法ですか? 「「コンストラクター」および他のメンバー関数への未定義の参照」のため、私のプログラムは現在コンパイルされていません。

これも何が原因でしょうか?私はチェックし、main.cppに「Class.h」を#includeし、「Class.cpp」に書いた「Class.h」に記載されている、定義する必要があるすべてのメンバーごとの関数を定義しました

4

2 に答える 2

2

クラスに名前を付けていないことを願っていますTheConstructor:) クラスがある場合は、ほぼ同じようにそのコンストラクターを宣言できます-引数Cの名前を入力するのを忘れました:bool

チャンネル:

#include <string>

class C
{
public:    
    C(bool b = 0, int *theArray = 0, std::string message = "0");
};

C.cpp:

#include "C.h"
C::C(bool b, int *theArray, std::string message)
{

}
于 2012-04-30T15:28:59.887 に答える
0

最初のパラメーターの名前は指定されていませんが、おそらく発生しているエラーは発生しません。

TheConstructor(bool=0, int *theArray=0, std::string message="0");

あなたはおそらく次のようなことをしたいと思うでしょう:

TheConstructor(bool flag=0, int *theArray=0, std::string message="0");

しかし、定義を見なければ、それについて他に言えることはあまりありません。宣言を見ただけでは、他に何が問題なのかを予測することは困難です。

于 2012-04-30T15:24:34.717 に答える