-8
クラス宣言の外にparameters-initializeリストを持つクラスコンストラクタの定義を入れられないのはなぜですか?C++、クラス定義の外にparameters-initializeリストを持つクラスコンストラクタの定義を入れられないのですが
typedef unsigned int UINT;
class num_sequence {
public:
typedef vector<UINT>::iterator iterator;
//I cannot put this following part in the cpp file
num_sequence(vector<UINT> & ele,int len=0,int beg=0):_relems(ele),_length(len),_beg_pos(beg)
{
//an abstract class cannot be instanlized
cout<<"build a num_sequence object";
}
virtual ~num_sequence();
num_sequence :: num_sequence(ベクター&ELE、INT LEN = 0、INT BEG = 0):_ relems(ELE )、_ length(len)、_ beg_pos(beg) \t \t { \t \t \t //抽象クラスは初期化できません \t \t \t cout << "build a num_sequence object"; } –
クラス宣言のスコープ内にコンストラクタを実装できますが、エラーが発生するのは –
です。外側に置くことができます。あなたが問題を抱えている場合は、試した実際のコードを投稿すると動作しません。 –