1.4k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hallo zusammen,

Ich hab ein Beispiel mit Quellcode im Internet gefunden. Jetzt will ich diesen umschreiben in c++ nur funktioniert das irgentwie nich.

der code im Inet geht so:
DataSet changes = dataset.GetChanges();


ich hab versucht es umzuschreiben und dabei ist volgendes rausgekommen:
System::Data::DataSet^ changes= System::Data::DataSet::GetChanges();


das funktioniert aber nicht ... ich bekomme folgende Fehlermeldung:
error C2352: 'System::Data::DataSet::GetChanges': Unzulässiger Aufruf einer nicht statischen Memberfunktion

3 Antworten

0 Punkte
Beantwortet von
Der Code im Internet sollte noch ausführlicher sein.

Da kannst die Methode getChanges logischerweise nur an einer bereits existierenden Instanz aufrufen.
0 Punkte
Beantwortet von
sorry aber verstehe nich ganz was du damit meinst .... ?
Kannst du mir das vieleicht ein bischen ausführlicher erklären oder anhand eines Beispieles.

Ich mein im Internet steht das Beispiel ... da funktioniert es ja auch?!?
0 Punkte
Beantwortet von
Im Internetbeispiel wird dataset eine Instanz von DataSet sein.

Da ich nicht weiß, inwieweit du dich mit Objektorientierung auskennst, ein Beispiel: Es gibt den Typ Auto. Jedes Auto hat vier Räder, ein Lenkrad und einen Motor. Um nun aber etwa die Farbe eines Autos rauszufinden, kannst du nicht den Typen Auto fragen, denn der steht ja stellvertretend für alle Autos der Welt als Sammelbegriff. Du brauchst ein bestimmtes Objekt vom Typen Auto, nämlich zum Beispiel meinAuto. Dieses Objekt muss irgendwann mal irgendwo erschaffen worden sein. Und dann kannst du sagen meinAuto.getFarbe().

Ebenso verhält es sich bei deinem DataSet. Änderungen können nur an einem bestimmten, existierenden Objekt vom Typ DataSet durchgeführt werden. Und entsprechend kannst du die Änderungen auch nur von einem bereits existierenden Objekt erhalten, nicht vom Typen.
...