30. marts 2003 - 22:35
Der er
6 kommentarer og 1 løsning
CRecordset (MFC)
Hey, er der nogle som kan lure hvorfor at jeg ikke kan compile følgende: DBStates * db = new DBStates(); ... CRecordset recordset(db); db arver fra CDatabase
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
31. marts 2003 - 00:41
#1
Hvilken compiler bruger du, og hvad er fejlen. Jeg kan kommer med en del gæt, men når jeg ikke ved hvad fejl compileren kommer med, bliver det kun gætteri.
31. marts 2003 - 07:26
#2
Jeg bruger Microsoft visual studio c++ C:\WINDOWS\Skrivebord\empty\interface.cpp(38) : error C2664: 'CRecordset::CRecordset' : cannot convert parameter 1 from 'class DBStates *' to 'class CDatabase *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast Error executing cl.exe.
31. marts 2003 - 09:28
#3
Er du sikker på at DBStates nedarver fra CDatabase som public?
31. marts 2003 - 15:59
#4
tam-> Hold kæft mand! Hvor dum/uopmærksom kan man være ;-) Post et svar for et godt æh gæt... Tak for det (kommer lige fra Java hvor det ikke er nødvendigt)
31. marts 2003 - 16:17
#5
Arv og skyld? CRecordset har ikke en contructor der tager DBStates, men en der tager CDatabase, du skal så cast fra den ene class til den anden. Test: #include <stdio.h> #include <stdlib.h> class CDatabase { public: CDatabase() { printf("CDatabase\n"); } }; class DBStates : public CDatabase { public: DBStates() { printf("DBStates\n"); } }; class CRecordset { public: CRecordset(CDatabase *aa) { printf("CRecordset\n"); } }; int main() { DBStates *bb = new DBStates; CRecordset cc((CDatabase *)bb); return EXIT_SUCCESS; } ellers vis lige din erklæring af DBStates (ihvertfald hoved og constructor, samt operator).
31. marts 2003 - 16:27
#6
segmose -> jeg er klar over den problematik som du opstiller. Men Tam havde ret... Havde ikke lavet public arv... :-)
31. marts 2003 - 17:26
#7
her er et svar :)
Kurser inden for grundlæggende programmering