Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Christoph Mini JLI'ler
Anmeldedatum: 24.08.2003 Beiträge: 17
Medaillen: Keine
|
Verfasst am: 29.08.2003, 13:56 Titel: Compile Error |
|
|
Hallo!
lese gerade Christian Rousselles Buch.
Ich möchte nun den Codfe ein wenig umschreiben. Ich habe mir, im Sinne von OOP, eine CWindow erstellt.
Code: | class CWindow
{
public:
// Fenster erstellen und Anzeigen
bool Create(int width, int height, char* title, HINSTANCE hInstance);
// Fenster schließen
void Destroy(void);
// Ausgabe des Fensterhandles
HWND gethWnd(void);
// Konstruktor
CWindow();
protected:
// Höhe
int m_height;
// Breite
int m_width;
// Fensterhandle
HWND m_hWnd;
}; |
Klappt alles ganz gut.
Nun will ich meine Direct3D-Klasse Initialisieren.
Also mache ich folgendes:
Code: | Direct3D.Init(MainWindow.gethWnd) |
Doch nun kommt folgender Fehler:
Zitat: | main.cpp(41) : error C2664: 'Init' : cannot convert parameter 1 from 'struct HWND__ *(void)' to 'struct HWND__ *'
There is no context in which this conversion is possible |
Als newbie weiß ich nicht wie ich diesen Fehler beheben könnte und was daran falsch sein könnte!
Bitte helft mir. Danke
bye |
|
Nach oben |
|
|
X-FILE Super JLI'ler
Anmeldedatum: 12.07.2003 Beiträge: 349
Medaillen: Keine
|
Verfasst am: 29.08.2003, 14:40 Titel: |
|
|
Hallo,
hab nur kurz druebergesehen, aber das hier ist auf jeden Fall schon mal falsch, wenns so in echt ist:
Code: |
HWND gethWnd(void);
Direct3D.Init(MainWindow.gethWnd)<=>Direct3D.Init(MainWindow.gethWnd())
|
|
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 29.08.2003, 15:15 Titel: |
|
|
Ansonsten hört es sich so an als würde es da ein paar Probleme mit den Parametern geben. Ich bin mir jetzt nicht sicher, aber ich würde versuchen den Paramter den du der 'Init'-Funktion übergibst zu einem void zucasten, Kann mich da aber auch irren??? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 30.08.2003, 20:15 Titel: |
|
|
Sollte eigentlich so funktionieren:
Code: | Direct3D.Init(MainWindow.gethWnd()); |
Wenn du die beiden Klammern nach dem Funktionsaufruf nicht angibst, hält der Compiler das wohl für eine Variable. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Christoph Mini JLI'ler
Anmeldedatum: 24.08.2003 Beiträge: 17
Medaillen: Keine
|
Verfasst am: 31.08.2003, 08:27 Titel: |
|
|
danke, es hat funktioniert )) |
|
Nach oben |
|
|
|