함수 템플릿이 이미 정의되었습니다. 라는 오류가 발생합니다...

조회수 928회

Node.h

template<typename N>
class Node {
private:
    Node* link; 
    N data; 
public:
    Node(const N& val);
    ~Node();
    Node* getLink();
    void setLink(Node* next);
    void display();
    bool hasData(const N& val);
    void insertNext(Node* n);
    Node* removeNext();
};

Node.cpp

#include <iostream>
#include "Node.h"
using namespace std;

template<typename N>
Node<N>::Node(const N& val)
{
    data = val;
    link = NULL;
}

template<typename N>
Node<N>::~Node()
{

}

template<typename N>
Node<N>* Node<N>::getLink()
{
    return link;
}

template<typename N>
void Node<N>::setLink(Node* next)
{
    link = next;
}

template<typename N>
void Node<N>::display()
{
    cout << data << " ";
}

template<typename N>
bool Node<N>::hasData(const N& val)
{
    return val->data != NULL;
}

template<typename N>
void Node<N>::insertNext(Node* n)
{
    if (n != NULL)
    {
        n->link = link;
        link = n;
    }
}

template<typename N>
Node<N>* Node<N>::removeNext()
{
    Node* removed = link;
    if (removed != NULL)
        link = removed->link;
    return removed;
}

이미지

LinkedList 구현중에 Node.h 와 Node.cpp를 위처럼 구현을 하고 빌드를 시도해보았는데요 함수 템플릿이 이미 정의되었습니다. 라는 오류메세지가 나옵니다. 저번에 스택을 구현할 때 같은 방법으로 구현해서 정상적으로 실행이 되었었는데 무엇이 문제인지 잘 모르겠습니다... 코린이에겐 고수님들의 가르침이 필요합니다. 어느 부분이 문제인지 알려주시면 감사하겠습니다 ㅜㅜ

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)