23. september 2004 - 19:35Der er
5 kommentarer og 1 løsning
Relaxing type check i Borland C++ Builder 6.0
Jeg er ved at opgradere et større C-projekt til Borland C++ Builder 6.0, men jeg har problemer med at oversætte. Koden har fungeret tidligere, men den nye compiler er åbenbart mere "kræsen" med typecheck mv. Jeg får hundredevis af fejl som den følgende:
E2034 Cannot convert 'HICON__*' to 'HWND__*'.
Er der nogen mulighed for at "relaxe" compilerens type check, og hvor gøres det lige henne i BC++B? Er der noget problem forbundet med at gøre dette?
Det tyder på at du oversætter koden som C++. Prøv at oversætte koden som C (selv om den hedder Borland C++ kan den godt oversætte som C).
Min BCB 5.0 har så vidt jeg kan se ingen switch der kan få den til at holde op med at opføre sig korret ifølge C++ standarden på dette punkt, og selv om den havde ville jeg ikke anbefalde at bruge det.
Der er vist ingen vej uden om at putte en lang række typecasts ind :-(
I C kan man unden videre konvertere mellem typer (måske får man en warning), det kan man ikke i C++.
Ifm. opgradering til BC++B6 omdøbtes mainfilen fra .c til .cpp, og den kom til at indeholde en række USEUNIT("xxx.c"). Hvis jeg omdøber filen til .c får jeg bare en masse ny "spændende" fejl.
Hvis jeg remarker alle de automatisk indsatte USEUNIT()-linier i toppen af filen, kan jeg oversætte min main-fil (bortset fra den brokker sig over ikke at kende "try {"), men det ser ikke ud til at den forsøger at oversætte alle de andre .c-filer, som projektet også består af.
Okay, try+catch skulle erstattes med __try+__catch, så ser det ud til at jeg kan oversætte. Jeg får lidt andre fejl hist og her, men det må være til at løse. :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.