为什么编译器不会为包含常量数据成员的类添加默认构造函数。 请看下面的代码,在其中我声明了常量数据成员'a',当尝试创建一个类“ClassA”的对象时,它会显示“没有适当的默认构造函数可用”。请帮忙。
#include "stdafx.h"
#include <iostream>
using namespace std;
class ClassA
{
private:
const int a;
public :
void print()
{
cout << "hello world" << endl;
}
};
int main()
{
ClassA obj;
obj.print();
return 0;
}
a
。 - chrisa
的明显初始化是使用默认初始化程序,即int()
,它将以零进行初始化。是的,这几乎是无意义的,但是否有人可以提供为什么默认构造函数不可能的参考资料? - Keithconst
变量。 - Ken D