Well, actually, that's not the code I'm using... But the concept is the same... Here is the real code - albeit in a shorter version, stripped of everything that has no relevancy:
In the header file (.h):
Code:
namespace Osaou{
typedef class Script{
public:
typedef class CppClass: public Osaou::Parser{
private:
typedef class Operator{
private:
unsigned int udw_return_flags;
unsigned int udw_arg_flags;
Osaou::Script::pOperator pO_op;
public:
Operator(void);
} *pOperator;
protected:
void v_AddOperator(char *psb_return, char *psb_op, char *psb_arg);
} *pCppClass;
} *pScript;
}
And here the actual script file (.cpp):
Code:
void Osaou::Script::CppClass::v_AddOperator(char *psb_return, char *psb_op, char *psb_arg){
// allocate memory for a new operator of this class
Osaou::Script::CppClass::pOperator pO_new = &LtO_operators.rt_PushBack();
}
The real error message is hence:
error C2248: 'Osaou::Script::CppClass::pOperator' : cannot access private typedef declared in class 'Osaou::Script::CppClass'
I might add that the Script class used to Not be in the Osaou namespace - instead named OsaouScript - and that then everything worked fine...
By the way, I'm using VS .NET (2002)... Version 7.0.XX that is...