Verwendung Wenn ich die WNDCLASSEX wcex
Variablendefinition aus Hauptfunktion (als globale Variable) gesetzt wird die KlasseFehlgeschlagen Fenster zu registrieren, wenn lokal WNDCLASSEX Variable
#include <windows.h>
WNDCLASSEX wcex;
int main()
{
wcex.cbSize = sizeof (WNDCLASSEX);
wcex.lpszClassName = "Success" ;
if (!RegisterClassEx (&wcex))
{
MessageBox (NULL, "Failed to register window class.", "Error", MB_OK);
}
}
erfolgreich registriert sein, aber wenn ich es in der Hauptfunktion Es wird nicht registriert
#include <windows.h>
int main()
{
WNDCLASSEX wcex;
wcex.cbSize = sizeof (WNDCLASSEX);
wcex.lpszClassName = "Success" ;
if (!RegisterClassEx (&wcex))
{
MessageBox (NULL, "Failed to register window class.", "Error", MB_OK);
}
}
Ich kann den Grund nicht herausfinden, bitte helfen Sie in dieser Ausgabe. Vielen Dank im Voraus.
Für C verwenden Sie stattdessen 'memset()' oder 'ZeroMemory()'. –
@RemyLebeau: Ich bezog mich auf die Regeln für die Initialisierung von Objekten mit statischer Speicherdauer. Diese sind in C++ null-initialisiert, aber ich kenne C nicht gut genug, um die Regeln dort zu kennen. Ich glaube, dass C keine Initialisierung vorschreibt, und bei Verwendung von C wären beide "wcex" -Strukturen nicht initialisiert und enthalten zufällige Werte. – IInspectable
@Intspectable: Danke, aber können Sie mir sagen, warum lehnt RegisterClass funtion die (Random-Werte) WNDCLASSEX Variablen ab? –