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

09-04 17:19