Frage von 3lectr0o, 88

Programmieren Fehlermeldungen, noob needs help?

Bekomme mehrere Fehlermeldungen beim programmieren:

Die nicht initialisierte lokale Variable "OnSpeed" wurde verwendet.

Die nicht initialisierte lokale Variable "OnBM2" wurde verwendet.

Die nicht initialisierte lokale Variable "OnCombo" wurde verwendet.

Die nicht initialisierte lokale Variable "OnNSD" wurde verwendet.

void Start() { bool OnSpeed, OnBM2, OnCombo, OnNSD; char * CAPTION = "My Sample DLL";

while (true)
{
    //================================ CHANGE NATION ===================================================
    if (GetKeyState(VK_F11) < 0) { CHANGE_NATION(); }
    //==================================================================================================

    //================================ MOVEMENT SPEED ==================================================
    if (GetKeyState(VK_F12) < 0)
    {
        if (!OnSpeed) {
            OnSpeed = true;
            MessageBoxA(NULL, "Movement Speed ON", CAPTION, MB_OK);
        }
        else {
            OnSpeed = false;
            MOVE_SPEED(450.0);
            MessageBoxA(NULL, "Movement Speed OFF", CAPTION, MB_OK);
        }
    }
    //==================================================================================================

    //THIS BM2, COMBO AND NSD IS ONLY WORK IN WIN 7 32BIT AND 64BIT

    //================================ NO COOLDOWN BM2 =================================================
    if (GetKeyState(VK_F10) < 0)
    {
        if (!OnBM2) {
            OnBM2 = true;
            MessageBoxA(NULL, "No Cooldown BM2 ON", CAPTION, MB_OK);
        }
        else {
            OnBM2 = false;
            MessageBoxA(NULL, "No Cooldown BM2 OFF", CAPTION, MB_OK);
        }
    }
    //==================================================================================================

    //================================ PERFECT COMBO ===================================================
    if (GetKeyState(VK_F9) < 0)
    {
        if (!OnCombo) {
            OnCombo = true;
            MessageBoxA(NULL, "PERFECT COMBO ON", CAPTION, MB_OK);
        }
        else {
            OnCombo = false;
            MessageBoxA(NULL, "PERFECT COMBO OFF", CAPTION, MB_OK);
        }
    }
    //==================================================================================================

    //================================ NO SKILL DELAY ==================================================
    if (GetKeyState(VK_F8) < 0)
    {
        if (!OnNSD) {
            OnNSD = true;
            MessageBoxA(NULL, "No Skill Delay ON", CAPTION, MB_OK);
        }
        else {
            OnNSD = false;
            MessageBoxA(NULL, "No Skill Delay OFF", CAPTION, MB_OK);
        }
    }
    //==================================================================================================

    //================================ FREEZING VALUE ==================================================
    if (OnSpeed) MOVE_SPEED(600.0);
    if (OnBM2) NOCD_BM2();
    if (OnCombo) NOCD_COMBO();
    if (OnNSD) NSD();
    //==================================================================================================

    Sleep(1);
}

}

Antwort
von ymicky, 12

Wie schon einige hier erwähnt haben ist sind die Variablen nicht initialisiert, daher nicht gefüllt. Du kannst keine Variable auf etwas prüfen, wenn sie nichts enthält. Wenn du jedoch nicht weißt wie das ganze funktioniert, solltest du wirklich von vorne anfangen

Antwort
von schmiddi1234, 5

nuja da du mit den anderen antworten nicht klar kommst - WERTZUWEISUNG :  ich nehm jetzt mal den ersten her. 

Aber bevor ich anfange .... deine erste anlaufstelle fuer sowas sollte StackOverFlow sein , hier findest du keine vernfuenftigen antworten darauf.

Deine Variable OnSpeed ist wohl ein Boolean , bedeutet sie ist True oder False . Da du die variable wohl irgendwo deklariest (bool OnSpeed;) und nicht initialisierst (bool OnSpeed = true;) weiss dein compiler nichts damit anzufangen. Deine Variablen muessen einen wert haben bevor du sie benutzt.... das sieht alles nach booleans aus , schreib dahinter einfach = true oder false. 

Gruss

Antwort
von oelbart, 35

Du musst den Variablen OnSpeed usw einen Startwert zuweisen, bevor Du sie mit if abfragen kannst.

Kommentar von 3lectr0o ,

und wie genau mach ich das? Der Code is ausn internet raus kopiert, deswegen hab ich diese schwierigkeiten :P

Kommentar von EightSix ,

Worin besteht der Sinn bei solchen Aktionen?

Kommentar von oelbart ,

Dann finde raus, welchen Wert diese Variablen zu beginn haben sollten.

Antwort
von triopasi, 62

Die Ganzen Variablen sind halt nicht initialisiert, wo is da das Problem???

Kommentar von 3lectr0o ,

Das problem is dass ich mich nich damit auskenn und deswegen frag, also was ich reinschreiben muss?

Kommentar von triopasi ,

Naja, was heißt es denn, wenn der Compiler sagt "Variable nicht initialisiert"?? Google das doch mal. Probleme lösen für Anfänger = google.

Kommentar von 3lectr0o ,

komme trotzdem nicht weiter

Kommentar von triopasi ,

Was heisst die Meldung denn? Hast du das selbst gemacht oder is das alles nur kopiert? Wieso fängst du programmieren nicht bei Null an sonder gleich bei was, wo du sofort scheiterst?

Antwort
von Tschoo, 7

Hallo!

Tja, au8ch "copy & paste" ist nur erfolgreich, wenn minimale Kenntnisse das sind.

Mach halt, was die Fehlermeldungen vermissen, initialisiere die Variablen, bevor du sie verwendest.

z.B:

bool OnSpeed = true;
bool OnBm2 = false;
: :

Gruß

Keine passende Antwort gefunden?

Fragen Sie die Community