I have the following class:
class solveMaze {
private:
    maze maze;
    mouse m;
    stack<coords> coordStack;
    int x;
    int y;
    coords currLoc;
public:
    solveMaze();
};
In here I get an error of undefined reference to "coords::coords()" what does this mean and how can i declare an object that i can overwrite/make it act like a variable (like x and y)?
solveMaze::solveMaze() {
    x = m.x;
    y = m.y;
    coords c(x, y);
    currLoc = c;
    coords lastLoc(c);
    coordStack.push(c);
}
This is the coords.h (irrelevant operator overloading functions removed to shorten code):
class coords {
public:
    coords();
    coords(int);
    coords(int, int);
    int x;
    int y;
    friend ostream &operator<<(ostream &output, const coords &c);
    bool operator==(coords);
    void operator=(const coords &b);
};
void coords::operator=(const coords &b){
    x = b.x;
    y = b.y;
}
coords::coords(int a, int b) {
    x = a;
    y = b;
}
