1
템플릿 클래스를 만드는 방법을 배우고 있으며 개념을 따르지 만 오류가 발생합니다. 나는 템플릿으로 바뀌었지만 다음과 같은 에러가 발생했다.템플릿 클래스 오류 C++
simplestack.h (24) : 오류 C2955 : 'SimpleStack는': 'SimpleStack'
simplestack.h의 참조 선언 : 클래스 템플릿의 사용은 템플릿 인수 목록을
simplestack.h (9)가 필요합니다 (28) : 오류 C2244은 : 'SimpleStack :: 푸시'기존 선언에 함수 정의와 일치 할 수없는
simplestack.h (12)의 선언 'SimpleStack :: 푸시'를 볼 수는
이 내입니다 코드 :
const int MAX_SIZE = 100;
template <typename T>
class SimpleStack
{
public:
SimpleStack();
SimpleStack & push(T value);
T pop();
private:
T items[MAX_SIZE];
T top;
};
template <typename T>
SimpleStack<T>::SimpleStack() : top(-1)
{}
template <typename T>
SimpleStack &SimpleStack<T>::push(T value)
{
items[++top] = value;
return *this;
}
template <typename T>
T SimpleStack<T>::pop()
{
return items[top--];
}
참고 : MAX_SIZE에서 T까지 시도 할 때마다 허용되지 않습니다. 어떤 도움을 주셔서 감사합니다.
멤버 함수의 정의에서. 클래스 이름을 삽입하기 때문에 선언문에서 문제가되지 않습니다. – bames53