JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ee8648e0ac94543fbdf74a8dddb6d70fMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

"Neudefinition; Mehrfachinitialisierung"

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 16:27    Titel: "Neudefinition; Mehrfachinitialisierung" Antworten mit Zitat

vor ein zwei tagen hab ich mein windof neu installiert. leider ist bei der neuintallation mein Visual Studio .net am a genanegn(ist ja klar; bei den vielen dlls die VS.net im windof-ordner instaliert...). da ich die CDs von VS.net nich mehr find(hab sie jemanden ausgeliehen.....) hab ich jetzt das gute alte VC++6 draufgehauen. ging auch alles ganz gut. nur wenn ich mein projekt(das mit VS.net erfolgreich zu kompilieren ging!!!!) mit VC++6 kompiliern will gibts da fehlermeldungen. und zwar
"Neudefinition; mehrfachinitialisiereung". und das gerade bei "schleifeendummies"....... mein code sieht ungefähr so aus:

for(int i=0;i<100;i+=1)
{
...........
}


diese for-schleife kommt 8-mal hintereinander. wenn ich jetzt kompiliere sagt er das die variable i "neudefiniert..." wird(diese meoldung 7-mal). das kann doich garnich sein denn die variable i ist wenn ich mich nicht täusche nur innerhalb der klammern existent???!!!! denn fehler kann ich ja auch beheben indem bei jeder for-schleife den namen des schleifen-dummies ändern(bei der erstn a, beide r zweiten b....). aber aus idealismus will ich dem fehler auch ohne ausweichen auf den grund gehen(ich könnte mit dem gedanken das ich ausgewichen wär heut nacht einfach nich einschalfen) Wink

danke schon im vorraus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 16.02.2004, 16:55    Titel: Antworten mit Zitat

Du könntest ja auch am Anfang deiner Funktion das hier schreiben:

Code:
int i;


Dein Probem hatte ich auchmal. Aber aus irgendein Grund geht es bei mir wieder Very Happy weiss aber nicht mehr warum :/
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 17:06    Titel: Antworten mit Zitat

das problem ergibt sich, wenn man variablen mehrfach deklariert...also:
int i = 5;
int i = 3;

hab das auch die ganze zeit bei for-schleifen. entweder das 2.te int weg, oder am anfang deklarieren a la fallenangel.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 17:45    Titel: Antworten mit Zitat

ja schon, aber das int i = 0; steht ja in dem header der for-schleife, d.h. ja das diese variable nach dem "}" nich mehr existiert!!! aber trotzdem sagt der m$ compiler neudefinition......
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 17:52    Titel: Antworten mit Zitat

is es aber schon, drum kannst dus ja auch schon am anfang definieren. vielleicht ist das aber auch eine einstellung...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 17:59    Titel: Antworten mit Zitat

wenn man die variable im for() definiert steht sie ja vor {, ist also nach } noch gültig, man muss wie die andern schon gesagt haben:
Code:


int i = 0;

for(i = 0; i < irgendwas; i++)
{
...
}
for(i = 0; i < irgendwas; i++)
{
...
}

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 16.02.2004, 18:06    Titel: Antworten mit Zitat

Das Problem von ihn ist ja das es auch so gehenm müsste das er i immer wieder in dem for-Kopf definieren kann. Bei mir gehts ja auch wieder.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 18:19    Titel: Antworten mit Zitat

ok, dann mach ich das int i = 0; halt ganz am anfang.... noch ein problem: jetzt kommt die meldung:
"error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/main.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise"
den fehler hatte ich früher schonmal...... da lags aber als daran das ich "main" falsch geschrieben hatte...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 18:44    Titel: Antworten mit Zitat

SYMPTOMS
If you declare the same variable in two different for-statements, the following error may appear:


Test.cpp(4) : error C2374: 'i' : redefinition; multiple initialization


CAUSE
The scope of a variable declared in the initialization part of a "for" loop is given local scope, as if it had been declared immediately prior to the for-statement.



RESOLUTION
Compile with /Za, Disable Language Extensions. To select this option in Developer Studio, select Project, Settings, and then click the C/C++ Tab. Change the Category to Customize and select Disable Language Extensions.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nigs
Super JLI'ler



Anmeldedatum: 19.12.2002
Beiträge: 359

Medaillen: Keine

BeitragVerfasst am: 16.02.2004, 18:56    Titel: Antworten mit Zitat

wenn ich die Sprach-erweiterungen deaktivier kommen zig fehler die aber nur in der "winnt.h" sind. ich glaube das las ich lieber....im mom nervt mich die meldung "nichtaufgelöstes symbol..."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum