C Variable undeclared - Nenne ich Variablennamen um, gehts. Sehr seltsamer Fehler!

KROKvsKROK

Ensign
Registriert
Apr. 2013
Beiträge
149
Hi,

Ich verstehe grad echt nicht, wo das Problem bei mir liegt.

Es geht um folgendes Programm:

Code:
int main() {

	int sekunden = 0;
	int sekundenEinerstelle = 0;

	sekundenEinerStelle = sekunden;
	
	return 0;
}

Hier bekomme ich folgende Fehlermeldung beim compilieren:

mainTest.c:13:2: error: 'sekundenEinerStelle' undeclared (first use in this func
tion)
sekundenEinerStelle = sekunden;
^
mainTest.c:13:2: note: each undeclared identifier is reported only once for each
function it appears in



Jetzt wird es noch seltsamer:

Nenne ich die Variable "sekunden" in "a" um und die Variable "sekundenEinerstelle" in "b" um, dann kommt beim compilieren plötzlich keine Fehlermeldung mehr O.o

Code:
int main() {

	int a = 0;
	int b = 0;

	b = a;
	
	return 0;
}

Kompiliert er ohne Probleme.


Wo liegt der Fehler? O.o
 
C unterscheidet bei Variablennamen zwischen Groß- und Kleinschreibung. Heisst: sekundenEinerStelle != sekundenEinerstelle.
 
Du hast in der Deklaration sekundenEiner s telle mit einem kleinen s und nachher in der Zuweisung sekundenEiner S telle mit einem großen S geschrieben.
 
Oh was für ein peinlicher Fehler....:D

Aber seltsam, dass Notepad++ mir beim makieren von "sekundenEinerstelle" dann trozdem auch "sekundenEinerStelle" makiert.....Kann man wohl irgendwo Einstellen, dass er Case sensitive beachten soll. Dachte aber das wäre schon Standartmäßig so.

Trozdem danke ;)
 
KROKvsKROK schrieb:
Aber seltsam, dass Notepad++ mir beim makieren von "sekundenEinerstelle" dann trozdem auch "sekundenEinerStelle" makiert.....Kann man wohl irgendwo Einstellen, dass er Case sensitive beachten soll. Dachte aber das wäre schon Standartmäßig so.

Settings -> Preferences -> MISC. -> Smart Highlighting -> Highlighting is case sensitive ;)
 
Oder auf Deutsch :D
Unter Einstellungen -> Optionen -> Diverses
Dort im Abschnitt "Mehrfache Markierungen" wirst Du fündig.
 
Oder Eclipse CDT für C/C++ oder Visual Studio Express müsste das glaube ich auch können.
 
Zurück
Oben