www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "C/C++" - Fehler in C++
Fehler in C++ < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Fehler in C++: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:00 Di 25.11.2008
Autor: Faithless

hallo zusammen
ich bin dabei ein programm in c++ zu schreiben und hab beim kompilieren  einen fehler zurück gekriegt
problem is ich weiß nich was er mir damit sagen will bzw wie ich ihn beheben kann

[...]
for (int q=9; q<9;qq++){     using obsolete binding at 'q'
    if (Feld[8][qq]==0){q=qq;}}
for (int aa=0;aa<1; ){
    Feld2[8][q]=Feld2[8][q]+1;}   name lookup of 'q' changed for new ISO 'for' scoping
[...]
dabei wird der zweite fehler als erstes protokolliert

hoffe dass mir jemand helfen kann :)

        
Bezug
Fehler in C++: Antwort
Status: (Antwort) fertig Status 
Datum: 08:59 Mi 26.11.2008
Autor: Karl_Pech

Hallo Faithless,


Du benutzt die Variable q in der 2ten for-Schleife, obwohl du sie nur in der ersten for-Schleife deklariert hast.
Geht man davon aus, daß die anderen Variablen irgendwo im Programm deklariert werden, wird folgender Code kompiliert:

1:
2:   int q = 9;
3:
4:   for(; q < 9; qq++) {
5:     if(Feld[8][qq] == 0) {
6:       q = qq;
7:     }
8:   }
9:
10:   for (int aa = 0; aa < 1; ) {
11:     Feld2[8][q] = Feld2[8][q] + 1;
12:   }
13: }



Allerdings machen die beiden Schleifen wenig Sinn. Die erste Schleife wird überhaupt nicht ausgeführt, da von Anfang an q == 9 gilt. Die 2te Schleife ist auch sinnlos, weil sie eine Endlosschleife ohne Abbruchbedingung ist, da aa nicht verändert wird.



Viele Grüße
Karl




Bezug
                
Bezug
Fehler in C++: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:33 Mi 26.11.2008
Autor: Faithless


> Hallo Faithless,
>  
>
> Du benutzt die Variable q in der 2ten for-Schleife, obwohl
> du sie nur in der ersten for-Schleife deklariert hast.

das war ja auch irgendwie mein plan... die erste for schleife soll q einen wert geben, der dann in der zweiten verwendet wird

>  Geht man davon aus, daß die anderen Variablen irgendwo im
> Programm deklariert werden, wird folgender Code
> kompiliert:

(tun sie, das waren die einzigen fehler)

>  
>
1:
2: >    int q = 9;
3: >  
4: > for(; q < 9; qq++) {
5: >      if(Feld[8][qq] == 0) {
6: >        q = qq;
7: >      }
8: >    }
9: >  
10: > for (int aa = 0; aa < 1; ) {
11: >      Feld2[8][q] = Feld2[8][q] + 1;
12: >    }
13: >  
14: >  


>  
>
> Allerdings machen die beiden Schleifen wenig Sinn. Die
> erste Schleife wird überhaupt nicht ausgeführt, da von
> Anfang an q == 9 gilt.

okay seh ich irgendwie ein... müsste also als bedingung q>8 haben

>Die 2te Schleife ist auch sinnlos,

> weil sie eine Endlosschleife ohne Abbruchbedingung ist, da
> aa nicht verändert wird.

wird schon, nur aber ich nicht mit geschrieben weil da kein fehler lag ;)

>  
>
>
> Viele Grüße
>  Karl
>  
>
>  

wenn ich das also richtig sehe hast du als einzige änderung die bedingung in der ersten for schleife vorgeschlagen
das habe ich nun geändert, der fehler bleibt allerding der gleiche :(

falls es wichtig sein sollte: Feld2 ist "char Feld2[9][9];"


Faithless

Bezug
                        
Bezug
Fehler in C++: Antwort
Status: (Antwort) fertig Status 
Datum: 21:05 Mi 26.11.2008
Autor: Karl_Pech


> wenn ich das also richtig sehe hast du als einzige änderung
> die bedingung in der ersten for schleife vorgeschlagen
>  das habe ich nun geändert, der fehler bleibt allerding der
> gleiche :(


Also falls es dir erstmal nur ums Kompilieren geht:

Folgender Code kompiliert bei mir unter []Cygwin ohne Probleme


1: int main(int argc, char* argv[]) {
2:   char Feld2[9][9];
3:   char Feld[9][9];
4:   int q = 9; int qq = 0;
5:
6:   for(; q < 9; qq++) { 
7:     if(Feld[8][qq] == 0) { 
8:       q = qq; 
9:     } 
10:   } 
11:
12:   for (int aa = 0; aa < 1; ) { 
13:     Feld2[8][q] = Feld2[8][q] + 1; 
14:   } 
15:   
16:   return 0;
17: }



Gebe ich 'g++ -v' in der Konsole ein, erhalte ich: 'gcc version 3.4.4'. Zum Kompilieren speichere ich den Code in einer Textdatei mit der Endung .cpp ab. Dann reicht eine Eingabe wie 'g++ test.cpp'. Hilft dir das weiter?



Viele Grüße
Karl




Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]