【发布时间】:2021-11-14 17:20:05
【问题描述】:
查看下面给出的代码
#include <iostream>
using namespace std;
class Number
{
int a;
public:
Number();
Number(int num_1) {
a = num_1;
}
void print_number(void) { cout << "Value of a is " << a << endl; }
};
int main()
{
Number num_1(33), num_3;
Number num_2(num_1);
num_2.print_number();
return 0;
}
在上面的代码中,我在同一个类中有 2 个构造函数,但是在编译它时,给了我错误
ccnd0o9C.o:xx.cpp:(.text+0x30): undefined reference to `Number::Number()'
collect2.exe: error: ld returned 1 exit status
谁能解决这个问题?我仍然需要 2 个构造函数,但没有用 num_3() 替换 num_3 主函数。
【问题讨论】:
-
错字:将
Number(void);更改为Number(){}
标签: c++ class oop c++11 constructor