L
linq936
Hi,
I have a C++ header file like this,
#include "MyClass1.h"
class MyClass2{
private:
MyClass1* c1;
};
In MyClass.h file, there is class declaration of class MyClass1.
But VC7 compiler complains MyClass1 is not a type.
I have to add a forward declaration like this to make compiler
happy,
#include "MyClass1.h"
class MyClass1;
class MyClass2{
private:
MyClass1* c1;
};
I am wondering why is that. "#include" should copy whatever in
MyClass1.h to this header file, and so this header file should have
detailed MyClass1 declararion, right?
I have a C++ header file like this,
#include "MyClass1.h"
class MyClass2{
private:
MyClass1* c1;
};
In MyClass.h file, there is class declaration of class MyClass1.
But VC7 compiler complains MyClass1 is not a type.
I have to add a forward declaration like this to make compiler
happy,
#include "MyClass1.h"
class MyClass1;
class MyClass2{
private:
MyClass1* c1;
};
I am wondering why is that. "#include" should copy whatever in
MyClass1.h to this header file, and so this header file should have
detailed MyClass1 declararion, right?