Hi I made a simple C++ program and I'm getting errors and I don't know what I'm doing wrong. I'm new to C++ syntax so I can't figure out what mistake I made that is causing the stated linker errors. The generated error complains that my Test1::getNmNeighborhoodEntry() function does not exist so linking can't happen. I must be missing something obvious a more seasoned programmer can see. Here is sample code that generates this error:
ITest.h
ITest.cppCode:#ifndef ITest_H #define ITest_H //#[ ignore #ifdef _MSC_VER // disable Microsoft compiler warning (debug information truncated) #pragma warning(disable: 4786) #endif //#] //## auto_generated #include <string> //## auto_generated #include <algorithm> //## auto_generated //## link itsNmNeighborhoodEntry class NmNeighborhoodEntry; //## class ITest class ITest { //#[ ignore //// Constructors and destructors //// public : //## auto_generated virtual ~ITest(); //// Relations and components //// protected : NmNeighborhoodEntry* itsNmNeighborhoodEntry; //## link itsNmNeighborhoodEntry }; #endif
Test1.hCode://## auto_generated #include "ITest.h" //## link itsNmNeighborhoodEntry #include "NmNeighborhoodEntry.h" //## class ITest ITest::~ITest() { }
Test1.cppCode:#ifndef Test1_H #define Test1_H //#[ ignore #ifdef _MSC_VER // disable Microsoft compiler warning (debug information truncated) #pragma warning(disable: 4786) #endif //#] //## auto_generated #include <string> //## auto_generated #include <algorithm> //## class Test1 #include "ITest.h" //## auto_generated class NmNeighborhoodEntry; //## class Test1 class Test1 : public ITest { //#[ ignore // Default Constructor is Private public: Test1(); // Default Copy Constructor is Private private: Test1(const Test1& self); // Default Assignment Operator is Private private: Test1& operator=(const Test1& aTest1); //#] //// Constructors and destructors //// public : //## auto_generated ~Test1(); NmNeighborhoodEntry* getNmNeighborhoodEntry(); }; #endif
NmNeighborhoodEntry.hCode://## auto_generated #include "Test1.h" //## auto_generated #include "NmNeighborhoodEntry.h" NmNeighborhoodEntry* itsNmNeighborhoodEntry; //## class Test1 Test1::~Test1() { } Test1::Test1() { } NmNeighborhoodEntry* getNmNeighborhoodEntry() { //return itsNmNeighborhoodEntry; return NULL; }
[Code:#ifndef NmNeighborhoodEntry_H #define NmNeighborhoodEntry_H //#[ ignore #ifdef _MSC_VER // disable Microsoft compiler warning (debug information truncated) #pragma warning(disable: 4786) #endif //#] //## auto_generated #include <string> //## auto_generated #include <algorithm> //## class NmNeighborhoodEntry class NmNeighborhoodEntry { //#[ ignore // Default Constructor is Private private: NmNeighborhoodEntry(); // Default Copy Constructor is Private private: NmNeighborhoodEntry(const NmNeighborhoodEntry& self); // Default Assignment Operator is Private private: NmNeighborhoodEntry& operator=(const NmNeighborhoodEntry& aNmNeighborhoodEntry); //#] //// Constructors and destructors //// public : //## auto_generated ~NmNeighborhoodEntry(); bool myIsPending; //## attribute myIsPending unsigned short index; //## attribute myNodeIndex }; #endif
NmNeighborhoodEntry.cpp
driver.cppCode://## auto_generated #include "NmNeighborhoodEntry.h" //## class NmNeighborhoodEntry NmNeighborhoodEntry::~NmNeighborhoodEntry() { }
Code://#include "ITest.h" #include "Test1.h" //#include "Test2.h" #include "NmNeighborhoodEntry.h" Test1 *test1; //Test2 *test2; NmNeighborhoodEntry* myNmNeighborhoodEntry; void main() { test1 = new Test1; //test2 = new Test2; //test1->itsNmNeighborhoodEntry = NULL; myNmNeighborhoodEntry = test1->getNmNeighborhoodEntry(); }



LinkBack URL
About LinkBacks



