构造函数中的初始化列表可以在模板类中使用吗? 我发现大多数关于C++模板的书都不告诉我们在模板类的构造函数中是否可以使用初始化列表。
例如,我有如下代码:构造函数中的初始化列表可以在模板类中使用吗? 我发现大多数关于C++模板的书都不告诉我们在模板类的构造函数中是否可以使用初始化列表。,c++,templates,constructor,initialization,C++,Templates,Constructor,Initialization,例如,我有如下代码: template <class T> class Stack { T* data; std::size_t count; std::size_t capacity; enum {INIT = 5}; public: Stack() { count = 0; capacity = INIT; data = new T [INIT]; } 对。编译器告诉你了吗?我刚刚试
template <class T>
class Stack {
T* data;
std::size_t count;
std::size_t capacity;
enum {INIT = 5};
public:
Stack() {
count = 0;
capacity = INIT;
data = new T [INIT];
}
对。编译器告诉你了吗?我刚刚试过,VS2008说没问题,但这似乎有点奇怪,因为一些伟大的作者没有这样做(例如,埃克尔在他的“用C++思考”中)
Stack(): count(0), capacity(INIT), data(new T [INIT])