-1

クラスへのポインターについて質問があります。つまり、オファリングクラスでCourse * sampleポインターを作成したかったのですが、コースはint引数を1つ取る別のクラスでもあり、メモリからスペースを取得しようとしましsample=new Course;たが、エラーが発生しましたそれは言う:

Offering.cpp:12:19: error: no matching function for call to ‘Course::Course()’
Offering.cpp:12:19: note: candidates are:
lib.h:63:5: note: Course::Course(int)
lib.h:63:5: note:   candidate expects 1 argument, 0 provided

私が間違っている場所を知っている人はいますか? とにかくありがとう。

4

3 に答える 3

0

のデフォルトコンストラクタを定義しますCourse。できない、またはすべきでない場合は、既存のものを使用する必要があります。

Course * sample = new Course(1337);
于 2012-10-18T20:05:28.053 に答える
0

書くCourse *sample = new Course(11);

コースがintコンストラクター パラメーターとして受け取る場合は、ヒープに割り当てる場合でも、それを渡す必要があります。

于 2012-10-18T20:04:39.187 に答える
0

あなたがする必要があります:

Course *sample = new Course(10);

これは、次のように定義されている Course のコンストラクターを明らかに定義したためです。

Course(int);

カスタム コンストラクターを定義しても、デフォルト コンストラクター ( Course() ) は自動的に追加されません。

于 2012-10-18T20:07:26.677 に答える