c++ - As usual, I'm lost
- Michael Comperchio (39/39) Jun 27 2002 I have declared in a .h file
- Jan Knepper (12/51) Jun 27 2002 I bet that is inside a class CFORMAPPDoc?
- Michael Comperchio (5/81) Jun 27 2002 Thanks Jan, That's the ticket. Too many subtle differences in
I have declared in a .h file // shortened struct DataRecord { int RecordNumber; char Task[256]; char DueDate[10]; char Priority[2]; int Completed; char Notes[2048]; int Deleted; } Data; //some other stuff...then struct DataRecord * FindARecord(int iRecordNumber); in the .cpp i declare this: struct DataRecord *CFORMAPPDoc::FindARecord(int iRecordNumber){ struct DataRecord * MyData = new struct DataRecord; //some code to find the record if( rc == true ) return MyData; else return NULL; } the silly compiler however gives me this: sc formadoc.cpp -cpp -Ae -mn -C -WA -S -3 -a8 -c -H -HO- -gf -D_DEBUG=1 -D_X86_=1 -D_MT=1 -Ic:\dm\stl -oformadoc.obj Error: C:\dm\FORMAPP\formadoc.cpp(241): 'CFORMAPPDoc::FindARecord' previously declared as something else C:\dm\FORMAPP\formadoc.cpp(241): It was declared as: CFORMAPPDoc::DataRecord*member func(int ) C:\dm\FORMAPP\formadoc.cpp(241): It is now declared: DataRecord*member func(int ) Error: C:\dm\FORMAPP\formadoc.cpp(280): need explict cast to convert C:\dm\FORMAPP\formadoc.cpp(280): from: CFORMAPPDoc::DataRecord* C:\dm\FORMAPP\formadoc.cpp(280): to : DataRecord* Lines Processed: 378 Errors: 2 Warnings: 0 Build failed HELP!!!!! Michael
Jun 27 2002
Michael Comperchio wrote:I have declared in a .h file // shortened struct DataRecord { int RecordNumber; char Task[256]; char DueDate[10]; char Priority[2]; int Completed; char Notes[2048]; int Deleted; } Data; //some other stuff...then struct DataRecord * FindARecord(int iRecordNumber);I bet that is inside a class CFORMAPPDoc? you do not have the repeat the 'struct' in C++ just DataRecord * FindARecord(int iRecordNumber); will do.in the .cpp i declare this: struct DataRecord *CFORMAPPDoc::FindARecord(int iRecordNumber){I suspect that you declared 'DataRecord' within the scope of class CFORMAPPDoc Thus change this to: CFORMAPPDoc :: DataRecord *CFORMAPPDoc::FindARecord(int iRecordNumber){ That might help. Janstruct DataRecord * MyData = new struct DataRecord; //some code to find the record if( rc == true ) return MyData; else return NULL; } the silly compiler however gives me this:Silly compiler?!sc formadoc.cpp -cpp -Ae -mn -C -WA -S -3 -a8 -c -H -HO- -gf -D_DEBUG=1 -D_X86_=1 -D_MT=1 -Ic:\dm\stl -oformadoc.obj Error: C:\dm\FORMAPP\formadoc.cpp(241): 'CFORMAPPDoc::FindARecord' previously declared as something else C:\dm\FORMAPP\formadoc.cpp(241): It was declared as: CFORMAPPDoc::DataRecord*member func(int ) C:\dm\FORMAPP\formadoc.cpp(241): It is now declared: DataRecord*member func(int ) Error: C:\dm\FORMAPP\formadoc.cpp(280): need explict cast to convert C:\dm\FORMAPP\formadoc.cpp(280): from: CFORMAPPDoc::DataRecord* C:\dm\FORMAPP\formadoc.cpp(280): to : DataRecord* Lines Processed: 378 Errors: 2 Warnings: 0 Build failed HELP!!!!! Michael
Jun 27 2002
Jan Knepper wrote:Michael Comperchio wrote:Thanks Jan, That's the ticket. Too many subtle differences in declaration syntax for my two brain cells to get...repetition is the key to learning eh? MichaelI have declared in a .h file // shortened struct DataRecord { int RecordNumber; char Task[256]; char DueDate[10]; char Priority[2]; int Completed; char Notes[2048]; int Deleted; } Data; //some other stuff...then struct DataRecord * FindARecord(int iRecordNumber);I bet that is inside a class CFORMAPPDoc? you do not have the repeat the 'struct' in C++ just DataRecord * FindARecord(int iRecordNumber); will do.in the .cpp i declare this: struct DataRecord *CFORMAPPDoc::FindARecord(int iRecordNumber){I suspect that you declared 'DataRecord' within the scope of class CFORMAPPDoc Thus change this to: CFORMAPPDoc :: DataRecord *CFORMAPPDoc::FindARecord(int iRecordNumber){ That might help. Janstruct DataRecord * MyData = new struct DataRecord; //some code to find the record if( rc == true ) return MyData; else return NULL; } the silly compiler however gives me this:Silly compiler?!sc formadoc.cpp -cpp -Ae -mn -C -WA -S -3 -a8 -c -H -HO- -gf -D_DEBUG=1 -D_X86_=1 -D_MT=1 -Ic:\dm\stl -oformadoc.obj Error: C:\dm\FORMAPP\formadoc.cpp(241): 'CFORMAPPDoc::FindARecord' previously declared as something else C:\dm\FORMAPP\formadoc.cpp(241): It was declared as: CFORMAPPDoc::DataRecord*member func(int ) C:\dm\FORMAPP\formadoc.cpp(241): It is now declared: DataRecord*member func(int ) Error: C:\dm\FORMAPP\formadoc.cpp(280): need explict cast to convert C:\dm\FORMAPP\formadoc.cpp(280): from: CFORMAPPDoc::DataRecord* C:\dm\FORMAPP\formadoc.cpp(280): to : DataRecord* Lines Processed: 378 Errors: 2 Warnings: 0 Build failed HELP!!!!! Michael--
Jun 27 2002