C++ struct, template

I compile C++ codes and get a problem. The problem shows as following:

enter image description here

The following are my codes:

Stack.h

   #ifndef _STACK_H
   #define _STACK_H
   namespace myAlgo
   {
     namespace STK
    {
    template<typename T>
    struct Stack_Node
    {

        T data;
        Stack_Node<T>* next;

        Stack_Node() {};
        Stack_Node(const T& item, Stack_Node<T>* next) :data(item), next(next) {};

        T add(T a, T b);
    };
  }
 }
 #endif

Stack.cpp

#include "Stack.h"
using namespace myAlgo::STK;
template< typename T>
T Stack_Node<T>::add(T a, T b)
{
return a + b;
}

main() function is in the following file:

AlgoStack.cpp

#include <iostream>
#include "Stack.h"

using namespace std;
using namespace myAlgo::STK;

int main()
{
   Stack_Node<int>* p = new Stack_Node<int>(67, nullptr);
   std::cout << p->data << " " << p->next << endl;
   int res = p->add(3, 4);
   std::cout << res << endl;
    system("pause");
    return 0;
}

So anyone who can help me, thank you!