为什么是错的?????

#include<iostream>
#include <string>
class NoDefault{
public:
  NoDefault(int i){k = i;}
private:
  int k;
};
class C{
public:
//  C(){ a = NoDefault(0);}                       //这个写法是错误的  
  C():a(NoDefault(0)){}                           //换成这个写法是正确的
  
private:
  NoDefault a;
 };
using namespace std;
int main()
{
  C c;
  

  return 0;
}

发布了190 篇原创文章 · 获赞 107 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/digitalkee/article/details/105051978