Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我是否必须在函数的声明和实现中编写初始化列表?_C++_Visual C++_Declaration_Implementation_Initializer List - Fatal编程技术网

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

C++ 我是否必须在函数的声明和实现中编写初始化列表?,c++,visual-c++,declaration,implementation,initializer-list,C++,Visual C++,Declaration,Implementation,Initializer List,这就是函数声明,它的实现也必须有初始化列表吗 class Zb{ int zbr; int* kos; public: Zb(int er):zbr(er); }; 我知道我可以在初始化列表中编写整个c'tor,但我只想要一个适合我问题的示例…初始化列表只属于定义(即实际的函数代码) 您的代码无效,没有编译器允许您在函数声明中指定初始化列表 您的代码如下所示: Zb::Zb(int er):zbr(er) { kos = new int[zbr]

这就是函数声明,它的实现也必须有初始化列表吗

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

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

初始化列表只属于定义(即实际的函数代码)

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

您的代码如下所示:

Zb::Zb(int er):zbr(er) {
      kos = new int[zbr];
}
class Zb {
      int zbr;
      int* kos;
public:
      Zb(int er);
};
定义(cpp文件)如下所示:

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

此构造函数声明无效。你的编译器应该告诉你的。你没有试过你的编译器吗,或者你的编译器真的因为某种原因接受了它吗?我怀疑你所做的一切都是有效的。你跑了吗?