为什么编译器不为包含常量数据成员的类添加默认构造函数。
请参见下面的代码,因为我已经声明了常量数据成员'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;
}
最佳答案
由于const值在初始化后无法更改,因此默认构造函数如何为它选择一个值。因此未创建默认构造函数