I made a mistaking when posting the code. I forgot the < and > symbols.
The following does not compile under VS2003.

class Outter
{
public:
// First inner class:
template<class T> class Inner1
{
};

// Second Inner class:
class Inner2
{
public:
// Method definition:
Outter* Inner1()
{
}
};
};