2008-10-23 7 views
2

C++ 템플릿과 관련된 대부분의 책은 템플릿 클래스의 생성자에서 초기화 목록을 사용할 수 있는지 여부를 알려주지 않습니다.생성자의 초기화 목록을 템플릿 클래스에서 사용할 수 있습니까?

예를 들어, 나는 다음과 같은 코드가 있습니다

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]; 
    } 

나는

Stack(): count(0), capacity(INIT), data(new T [INIT]) 

답변

4

예와 생성자를 교체 할 수 있습니다. 컴파일러가 다르게 설명 했습니까?

0

방금 ​​시도했지만 VS2008은 괜찮다고 말합니다. 그러나 위대한 저자 중 일부는 그렇게하지 않으므로 조금 이상하게 보입니다 (예 : Eckel, "Thinking in C++").

관련 문제