Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Position der Deklaration im Quelltext entscheidend

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
09.04.2007, 22:23 Uhr
Suba Esel





Mir ist grad folgendes passiert:

C++:
HWND stealth;
stealth = FindWindow("ConsoleWindowClass",0);
ShowWindow(stealth,0);
std::string key, alttitel = "", titel;
HWND aktuell;
int laenge;
char name[laenge];



Dieser Quelltext funktioniert ohne Probleme. Sobald ich die Definition (oder Deklaration? ka) von "aktuell" verschiebe, also zum Beispiel so:

C++:
HWND stealth;
stealth = FindWindow("ConsoleWindowClass",0);
ShowWindow(stealth,0);
std::string key, alttitel = "", titel;
int laenge;
HWND aktuell;
char name[laenge];



stürzt das Programm ab.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.04.2007, 22:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
int laenge;
HWND aktuell;
char name[laenge];



laenge undefiniert und nicht konstant - das dürfte dir nicht mal kompilieren (zumindest nicht ohne warnung)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.04.2007, 22:36 Uhr
Suba Esel



Hmm, dafür bekomm ich keine.
Aaußerdem ist das in main drin - ich hab danach ne while(1) Schleife, die in diese Daten immer wieder neu reinschreibt.
Nen Fehler bekomm ich nur dafür, dass man in ISO - C++ name nicht mit variabler Länge machen darf. Allerdings klappts, wenn ich z.B. schreibe "int laenge = 0;".

EDIT:
seltsamerweise liegt es sogar an dem "int laenge;" wenn ich "HWND stealth, aktuell;" mache.






EDIT 2:
Scheiße bin ich blöd.


C++:
int laenge;
char name[laenge];


MUSS ja fehlschlagen - ich les laenge erst später ein....
--
Simon

Dieser Post wurde am 09.04.2007 um 22:40 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.04.2007, 22:41 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


dann debug mal wo es genau abstürzt.

Ein int laenge = 0; sollte dir teilweise um die Ohren fliegen (0 Bytes für eine Variable alloziieren geht schief)

Evtl liegt dein Fehler einfach woanders (du schreibst evtl einfach irgendwo im Speicher rum, wo halt eben z.b das Fensterhandle liegt)
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: