all i have on the top of my file is // creport.cpp : implementation file // #include "stdafx.h" #include "cmain.h" #include "creport.h" //////////////////////i have also tried to creport.h before cmain.h i did find the following article on msdn. i have not made any since of it yet though. HOWTO: Declare Classes That Refer to Each Other Q136005 -------------------------------------------------------------------------------- The information in this article applies to: The Microsoft C/C++ Compiler (CL.EXE) Microsoft Visual C++ for Windows, 16-bit edition, versions 1.0, 1.5, 1.51, 1.52 Microsoft Visual C++, 32-bit Editions, versions 1.0, 2.0, 2.1, 2.2, 4.0, 4.1, 5.0, 6.0 -------------------------------------------------------------------------------- SUMMARY In C++, you may need to have two classes that contain data members that refer to the other class as in this example: class B { A * x; }; class A { B * x; }; This article shows by example how to declare two classes that contain pointers to the other class. The two classes (A and B) are derived from other classes (C and D) to better demonstrate this issue. If the two classes are not declared correctly, errors such as the following can occur: test1.h(8) : error C2501: 'B' : missing decl-specifiers test1.h(8) : error C2143: syntax error : missing ';' before '*' test1.h(8) : error C2501: 'x' : missing decl-specifiers MORE INFORMATION Sample Code /* Compile options needed: none */ //================================ // test1.h //================================ #ifndef _a_ #define _a_ class B; class A : public D { B * x; }; #endif //================================ // test2.h //================================ #ifndef _b_ #define _b_ class A; class B : public C { A * y; }; #endif //================================= // test.cpp //================================= class C { int q; }; class D { int p; }; #include "test1.h" #include "test2.h" void main(void) { } Additional query words: 8.00 8.00c 9.00 9.10