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:


   #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);


#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:


#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;
    return 0;

So anyone who can help me, thank you!