I'm starting to learn C++ (coming from Java), so bear with me. 

I can't seem to get my method declaration to accept a class I've made. 

> 
> 'Context' has not been declared
> 
> 
> 

I think I'm not understanding a fundamental concept, but I don't know what.

Expression.h

```
#include "Context.h"  
class Expression {  
public:  
    void interpret(Context *);  // This line has the error
    Expression();  
    virtual ~Expression();  
};  

```

Context.h

```
#include <stack>  
#include <vector>  
#include "Expression.h"  

class Context {  
private:  
    std::stack<Expression*,std::vector<Expression*> > theStack;  
public:  
    Context();  
    virtual ~Context();  
};

```