![]() |
[C++] Problem mit Funktion
HI leute!
ich bin vor kurzem auf c++ umgestiegen. Ich habe ein kleines Problem mit einer funktion!
Code:
Es kommt eine Fehlermeldung dass tStringlist * nicht in TStringlist konvertiert werden kann.
TStringList InputFile(AnsiString File)
{ TStringList *sl = new TStringList(); sl->LoadFromFile(File); // hier ändere ich die Stringlist return sl; } Danke Schon mal im vorraus für eure antworten [edit=SirThornberry]Delphi-Tags durch c-Tags ersetzt - Mfg, SirThornberry[/edit] |
Re: [C++] Problem mit Funktion
Zitat:
Versuchs mal so(die Fehlermeldung ist doch eigentlich eindeutig):
Delphi-Quellcode:
TStringList* InputFile(AnsiString File)
mfg Christian |
Re: [C++] Problem mit Funktion
Jetzt muss der Zeiger aber außerhalb der Funktion freigegeben werden. Ich denke, die günstigste Variante wäre
Code:
return *sl;
|
Re: [C++] Problem mit Funktion
Zitat:
|
Re: [C++] Problem mit Funktion
Zitat:
Code:
mfg
// Pseudocode:
void InputFile(AnsiString File, TStringList* sl) { sl->LoadFromFile(File); // hier ändere ich die Stringlist } [...] sl = new TStringList(); try { InputFile(File, sl); } finally { sl.Free; } Christian |
Re: [C++] Problem mit Funktion
Wieder was gelernt. Man kann aber durchaus von Delphi übertragen: Da soll man keine Klassen als result zurückegeben, und Delphi-Klassen entsprechen ja ungefähr Zeigern auf C++-Klassen.
|
Re: [C++] Problem mit Funktion
Zitat:
Im C++Builder gibt es 2 Arten von Klassen: C++-Klassen und VCL-Klassen. C++-Klassen können Mehrfachvererbung, dereferenziert werden, aufm Stack liegen, statisch lokal sein, etc. also all die kranken Featues, die C++ eben hat. Im Gegensatz dazu sind VCL-Klassen immer von TObject abgeleitet und verhalten sich auch sonst genau so, wie die Klassen aus Delphi. Vermischen geht aber nicht. d.h. die einen können zwar die anderen benutzen, etc. aber nicht von ihnen erben... mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz