Fehler C3861: 'rollDice': Bezeichner nicht gefunden

8

Ich versuche einige Grafiken zu implementieren, aber ich habe Probleme beim Aufruf der Funktion int rollDice () ganz unten und bin mir nicht sicher, wie ich das lösen soll? irgendwelche Ideen ... Ich bekomme einen Fehler Fehler C3861: 'RollDice': Bezeichner nicht gefunden.

%Vor%

aktualisiert

    
Mac 30.04.2013, 01:29
quelle

2 Antworten

25

Der Compiler durchläuft Ihre Dateien vom Anfang bis zum Ende, was bedeutet, dass die Platzierung der Definition Ihrer Funktion von Bedeutung ist. In diesem Fall können Sie entweder die Definition dieser Funktion vor der ersten Verwendung verschieben:

%Vor%

oder Sie können forward declaration verwenden, um dem Compiler mitzuteilen, dass eine solche Funktion existiert:

%Vor%

Beachten Sie auch, dass der Funktionsprototyp durch name angegeben wird, aber auch Rückgabewert und Parameter :

%Vor%

So werden Funktionen unterschieden . int foo(); und void foo(); sind unterschiedliche Funktionen, da sie sich jedoch nur in ihrem Rückgabewert unterscheiden, können sie nicht innerhalb desselben Bereichs existieren (für weitere Informationen siehe Funktionsüberlastung ).

    
LihO 30.04.2013, 01:40
quelle
2

Setzen Sie die Deklaration der Funktion rollDice

%Vor%

vor OnBnClickedButton1 oder verschieben Sie einfach die Definition der Funktion rollDice vor OnBnClickedButton1 .

Der Grund ist in Ihrem aktuellen Code, wenn Sie rollDice in OnBnClickedButton1 aufrufen, die Funktion wurde vom Compiler noch nicht gesehen, deshalb haben Sie identifier not found error gesehen.

    
taocp 30.04.2013 01:40
quelle