我是否必须在函数的声明和实现中编写初始化列表?

时间:2016-05-01 19:06:32

标签: c++ visual-c++ declaration implementation initializer-list

class Zb{
      int zbr;
      int* kos;
public:
      Zb(int er):zbr(er);
};

那是函数声明,它的实现是否也必须有初始化列表?

Zb::Zb(int er):zbr(er) {
      kos = new int[zbr];
}

我知道我可以在初始化列表中编写整个c,但我只是想要一个适合我的问题的例子......

1 个答案:

答案 0 :(得分:0)

初始化列表只属于定义(即实际的功能代码)。

您的代码无效,编译器不允许您在函数声明中指定初始化列表。

您的代码如下:

class Zb {
      int zbr;
      int* kos;
public:
      Zb(int er);
};

定义(cpp文件)看起来像:

Zb::Zb(int er) : zbr(er) {
      kos = new int[zbr];
}