Objekt in einer Applikation erzeugen
Erzeugung eines Objekts, auf der Basis einer Klasse in einer Win32 Applikation (erstellt mit Visual Studio 6)
Hallo,
es geht um ein Problem.
Bisher hatte ich lediglich Konsolenanwendungen in C++ erstellt.
Sollte ich jedoch eine Oberfläche benutzen, hatte ich meistens auf andere Sprachen zurückgegriffen.
Nun steh ich vor dem Problem das ich mit Visual Studio 6 (C++) ein Programm, welches zuvor als Konsolenanwendung geschrieben wurde, in eine GUI zu überführen.
Das Grundgerüst lies ich mir von VS erstellen. Ich habe auch schon einige Tutorials gelesen um das Gerüst zu verändern und zu erweitern.
Bzw. um Tastaturabfragen vorzunehmen etc. etc. etc.
Nun steh ich jedoch vor einem Problem.
Ich habe zuvor in der Konsolenanwendung eine Klasse (Name: Cspielfeld) gehabt.
Diese hatte einige Methoden und Attribute.
In der Konsolenanwendung lies ich mir das Objekt mit "Cspielfeld feld" erzeugen.
In der Applikation, geht diese Prozedur jedoch nicht.
Ich habe die spielfeld.h (Headerdatei der Klasse) included.
Die Klasse wurde bisher nicht verändert und ist mit der Konsolenklasse identisch. Ebenso deren Methoden.
Ich wollte erst einmal das Ansteuern der einzelnen Elemente hinter die Menüpunkte legen, bevor ich dann die Methoden die für die Bildschirmausgabe zuständig waren umbaue, damit sie in das Window zeichnen können.
Dagegen spricht ja auch nichts.
Jedoch wenn ich nun das Objekt erzeugen will mit "Cspielfeld feld" bekomme ich folgende Meldungen:
error C2065: 'Cspielfeld' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'feld'
error C2065: 'feld' : undeclared identifier
Alle beziehen sich auf die besagte Zeile
Cspielfeld feld;
Wenn einer einen Tipp hat oder sogar eine konkrete Lösung wäre ich sehr dankbar!
Mit freundlichen Grüßen,
Daniel Felix
Hallo,
es geht um ein Problem.
Bisher hatte ich lediglich Konsolenanwendungen in C++ erstellt.
Sollte ich jedoch eine Oberfläche benutzen, hatte ich meistens auf andere Sprachen zurückgegriffen.
Nun steh ich vor dem Problem das ich mit Visual Studio 6 (C++) ein Programm, welches zuvor als Konsolenanwendung geschrieben wurde, in eine GUI zu überführen.
Das Grundgerüst lies ich mir von VS erstellen. Ich habe auch schon einige Tutorials gelesen um das Gerüst zu verändern und zu erweitern.
Bzw. um Tastaturabfragen vorzunehmen etc. etc. etc.
Nun steh ich jedoch vor einem Problem.
Ich habe zuvor in der Konsolenanwendung eine Klasse (Name: Cspielfeld) gehabt.
Diese hatte einige Methoden und Attribute.
In der Konsolenanwendung lies ich mir das Objekt mit "Cspielfeld feld" erzeugen.
In der Applikation, geht diese Prozedur jedoch nicht.
Ich habe die spielfeld.h (Headerdatei der Klasse) included.
Die Klasse wurde bisher nicht verändert und ist mit der Konsolenklasse identisch. Ebenso deren Methoden.
Ich wollte erst einmal das Ansteuern der einzelnen Elemente hinter die Menüpunkte legen, bevor ich dann die Methoden die für die Bildschirmausgabe zuständig waren umbaue, damit sie in das Window zeichnen können.
Dagegen spricht ja auch nichts.
Jedoch wenn ich nun das Objekt erzeugen will mit "Cspielfeld feld" bekomme ich folgende Meldungen:
error C2065: 'Cspielfeld' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'feld'
error C2065: 'feld' : undeclared identifier
Alle beziehen sich auf die besagte Zeile
Cspielfeld feld;
Wenn einer einen Tipp hat oder sogar eine konkrete Lösung wäre ich sehr dankbar!
Mit freundlichen Grüßen,
Daniel Felix
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 51192
Url: https://administrator.de/contentid/51192
Ausgedruckt am: 09.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar
Zunächst solltest du wissen, dass deine Fehlermeldung vom Compiler erzeugt wird. Aus Sicht dessen gibt es keinen Unterschied zwischen Konsolenapplikation und einer Applikation mit GUI.
Erst der Linker kann unter Umständen diesen Unterschied erahnen (/subsystem:console oder /subsystem:windows), wobei es hier nicht darum geht ob eine Anwendung wirklich eine GUI hat oder nicht. Auch eine Konsole ist ein Fenster (zumindest unter Windows)
Deine Fehlermeldungen heißen im Grunde bloß, dass er (der Compiler) im aktuellen Kontext die Bezeichnung Cspielfeld nicht kennt. Das von dir angesprochene include muss vor der Definition von feld stehen und darf nicht durch ein #if(n)def umgangen werden.
Also folgendes muss funktionieren:
#include "spielfeld.h"
Cspielfeld feld;
Vorausgesetzt die Klasse Cspielfeld befindet sich auch in spielfeld.h (Groß-/Kleinschreibung beachten).
mfg Martin
Erst der Linker kann unter Umständen diesen Unterschied erahnen (/subsystem:console oder /subsystem:windows), wobei es hier nicht darum geht ob eine Anwendung wirklich eine GUI hat oder nicht. Auch eine Konsole ist ein Fenster (zumindest unter Windows)
Deine Fehlermeldungen heißen im Grunde bloß, dass er (der Compiler) im aktuellen Kontext die Bezeichnung Cspielfeld nicht kennt. Das von dir angesprochene include muss vor der Definition von feld stehen und darf nicht durch ein #if(n)def umgangen werden.
Also folgendes muss funktionieren:
#include "spielfeld.h"
Cspielfeld feld;
Vorausgesetzt die Klasse Cspielfeld befindet sich auch in spielfeld.h (Groß-/Kleinschreibung beachten).
mfg Martin