누락된 인수 목록 및 클래스 템플릿 'deque'의 인수 목록에 형식 매개 변수가 두 개 이상 있습니다.

클래스 템플릿 'deque'에 대한 누락된 인수 목록 C/C++

템플릿 클래스 deque

template <typename T>
class deque
{
    
    
private:
    T data;
public:
    deque(T d = 0):data(d);
    ~deque();
};

deque::deque(T d = 0):data(d){
    
    }
deque<T>::~deque() {
    
    }

오류: 클래스 템플릿 "deque"의 매개변수 목록 누락 C/C++(441), int deque(d = 0)
이유: 템플릿 클래스는 템플릿 매개변수가 있는 클래스이므로 클래스 이름 뒤에 템플릿 클래스 매개변수를 추가해야 합니다. 인터페이스 구현, 함수 반환 값도 마찬가지

개정하다:

template <typename T>
deque<T>::deque(T d = 0):data(d){
    
    }

template <typename T>
deque<T>::~deque(){
    
    }

기능 구현

template <typename T>
bool deque<T>::empty();

오류: "deque::empty" 멤버 함수의 클래스 외부에서 함수를 다시 선언할 수 없습니다.
이유: 세미콜론이 더 많고 중괄호가 없으므로 선언된 것으로 간주됩니다
. 수정:

template <typename T>
bool deque<T>::empty(){
    
    }

템플릿 인수 목록에 형식 매개변수가 둘 이상 있는 경우

위의 데크 템플릿 클래스는 구성 요소 부분이고 다음은 컨테이너 부분입니다. 템플릿 클래스 대기열, 템플릿 실제 매개 변수에는 두 개의 공식 매개 변수가 있습니다.

template <class T,class Sequence = deque<T>>
class queue
{
    
    
private:
    Sequence c;
public:
    queue();
    ~queue();
};

기능 구현:

template <class T,class Sequence>
queue<T,Sequence>::queue(){
    
    }

template <class T,class Sequence>
queue<T,Sequence>::~queue(){
    
    }

Supongo que te gusta

Origin blog.csdn.net/weixin_44848852/article/details/120444654
Recomendado
Clasificación