我必须在函数的声明和实现中都写初始化列表吗?
Do I have to write the initialization list in both declaration and implementation of a function?
class Zb{
int zbr;
int* kos;
public:
Zb(int er):zbr(er);
};
那是函数声明,它的实现是否也必须有初始化列表?
Zb::Zb(int er):zbr(er) {
kos = new int[zbr];
}
我知道我可以在初始化列表中写下整个 c'tor,但我只是想要一个适合我的问题的示例...
初始化列表只属于定义(即实际函数代码)
您的代码无效,编译器不允许您在函数声明中指定初始化列表。
您的代码如下所示:
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):zbr(er);
};
那是函数声明,它的实现是否也必须有初始化列表?
Zb::Zb(int er):zbr(er) {
kos = new int[zbr];
}
我知道我可以在初始化列表中写下整个 c'tor,但我只是想要一个适合我的问题的示例...
初始化列表只属于定义(即实际函数代码)
您的代码无效,编译器不允许您在函数声明中指定初始化列表。
您的代码如下所示:
class Zb {
int zbr;
int* kos;
public:
Zb(int er);
};
定义(cpp 文件)如下所示:
Zb::Zb(int er) : zbr(er) {
kos = new int[zbr];
}