-1

我有一个关于指向类的指针的问题。我的意思是在提供类中我想创建一个Course * sample指针,顺便说一下 course 也是另一个接受一个 int 参数的类,然后试图通过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 *sample = new Course(10);

这是因为您显然为 Course 定义了一个构造函数,其定义为:

Course(int);

定义自定义构造函数时,不会自动添加默认构造函数( Course() )。

于 2012-10-18T20:07:26.677 回答
0

Course *sample = new Course(11);

如果当然需要一个intas 构造函数参数,则即使在堆上分配时也必须传递它。

于 2012-10-18T20:04:39.187 回答
0

Course. 如果你不能或不应该,你将不得不使用现有的。

Course * sample = new Course(1337);
于 2012-10-18T20:05:28.053 回答