Basically all I want to do is define a generic stack using arrays in stack-array.cpp, and use it in stack-test.cpp.
I've read a few answers here and here but somehow i'm still unable to create a stackarray in stack-test.cpp. I'm a C++ beginner and I'm afraid I'm at my wits end..
Here is the code:
stack-array.h
template<typename T>
class stackarray {
public:
    int stacksize;
    T stacks;
    T *sp;
    T pop();
    void push(T);
    int isempty();
    stackarray<T>();
    virtual ~stackarray<T>();
};
stack-array.cpp
#include "stack-array.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
    template<typename T>
    stackarray<T>::stackarray()
    {
        stackarray<T>::stacksize =10;
        stackarray<T>::stacks = new T[stacksize];
        stackarray<T>::sp = stacks;
    }
    template<typename T>
    stackarray<T>::~stackarray()
    {
        // TODO Auto-generated destructor stub
    }
    template<typename T>
    void push(T n)
    {
        // TODO Auto-generated destructor stub
    }
    template<typename T>
    T pop()
    {
        // TODO Auto-generated destructor stub
    }
    template<typename T>
    int isempty()
    {
        // TODO Auto-generated destructor stub
    }
    template<typename T>
    T applyToAll() {
        // TODO Auto-generated destructor stub
    }
stack-test.cpp
# include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
# include "stack-array.h"
int main() {
    stackarray<int> x; //erroring here
    return 0;
}
this gives me several "undefined references to stackarray :: stackarray()"
 
    