www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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
Dt. Schulen im Ausland: Mathe-Seiten:

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

C2039-Error: Vorschlag
Status: (Frage) beantwortet Status 
Datum: 13:29 Do 14.01.2010
Autor: qsxqsx

Hallo,

Vielleicht sage ich erstmals grundsätzlich um was es sich handelt: Ich habe die Aufgabe ein Sudokulöser zu programmieren. Ich bin jetzt auch fast fertig, hab aber noch einen Compilererror, bei dem ich durch suchen im Internet einfach nicht schlauer werden kann.

Ich habe zuerst mal das Programm die leeren Felder suchen lassen, und mir gesagt, für jedes Feld mach ich ein struct, welches die x-koordinate, die y-koordinate des Feldes enthält und in einem Array die möglichen Zahlen für dieses Feld reinschreibe, damit ich nacher bequem darauf zugreifen kann.

Es gibt also ein Array, welches soviele structs wie leere Felder beinhalten soll(dieses Array ist dynamisch), als auch in jedem dieser structs wieder in Array(nicht dynamisch) mit den möglichen Nummern.

struct emptycells
{
int xc; // x-koordinate
int yc ; // y-koordinate
int possiblenumbers [9] = {1,2,3,4,5,6,7,8,9};
// array with the possible numbers
};

error C2039: 'possiblenumbers': Ist kein Element von 'solve::emptycells'
Siehe Deklaration von 'solve::emptycells'

...bei diesem struct soll jetzt was falsch sein, oder zumindest der Array possiblenumbers! Ich habe keine Ahnung wieso!

Auf einer Website stand zu diesem Fehler folgendes:
"Sie versuchen fälschlicherweise, einen Bezeichner als Element einer Struktur zu behandeln. Überprüfen sie ihre Deklarationen"


Wäre sehr froh über nen Tipp, wenner auch noch so klein ist...

Gruss

        
Bezug
C2039-Error: Antwort
Status: (Antwort) fertig Status 
Datum: 16:55 Do 14.01.2010
Autor: Frasier

Hallo,
die Felder einer struct werden bei deren Erzeugung initialisiert.
Beispiel
#include <stdio.h>
#include <stdlib.h>

int main()
{
    struct emptycells {
        int xc; // x-koordinate
        int yc; // y-koordinate
        int possiblenumbers[9];
    };
    int i;
    struct emptycells c1={10,20,{3,6,0,8}};
    printf("x: %d, y: %d, moegliche Zahlen: ",c1.xc,c1.yc);
    for ( i=0; i<sizeof(c1.possiblenumbers)/sizeof(int); i++ )
        printf("%d ", c1.possiblenumbers[i]);

    return 0;
}

Was der Verweis auf solve zu bedeuten hat, keine Ahnung.
lg
F.

Bezug
        
Bezug
C2039-Error: Blanks
Status: (Antwort) fertig Status 
Datum: 17:19 Do 14.01.2010
Autor: Infinit

Hallo qsxqsx,
soweit ich weiss, darf bei der Felddeklarartion kein Blank zwischen dem Feldnamen und der Feldgröße sein.
Viele Grüße,
Infinit

Bezug
                
Bezug
C2039-Error: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:52 Do 14.01.2010
Autor: qsxqsx

Ich danke beiden!


Also der Vorschlag von Frasier zeigt mir eigentlich nur, dass ich es vom Prinzip richtig gemacht habe. Habs jetzt noch ohne das Blank versucht, nützt auch nichts! Was ich herausgefunden habe ist, dass wenn ich
nur "int possiblenumbers[9];" schreibe (ohne die Geschweifte Klammer mit den Zahlen), dass es dann compiliert! ...nur ergeben sich dann eben andere Probleme...
Da Frasier sein Beispiel richtig ist, er aber anders auf die Elemente zugreift, kann es nur sein, dass ich da nachher falsch aufs struct bzw. den Array im struct zugreife.
Deshalb zeige ich hier wie ich den Pointer auf das struct mache und benutze, als auch wie ich den Array im struct benutze:

emptycells *cellpointer;  //pointer auf struct,emptycells ist das struct
cellpointer = new emptycells;

((cellpointer + u )->possiblenumbers[g]) // so greife ich oft ein Element im Array, ist das richtig?! das u soll den pointer der auf das erste struct zeigt zu einem beliebigen struct setzen.
Bei diesem Zugriff tritt eben diese Fehlermeldung auf: 'possiblenumbers': Ist kein Element von 'solve::emptycells'
Ich habe mir schon überlegt, dass das possiblenumbers irgendwie nicht "global" definiert ist und ein "extern" vornedran gemacht...nütz auch nichts...

Ist doch eigentlich alles richtig, oder?

Gruss qsxqsx




Bezug
                        
Bezug
C2039-Error: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 19:33 Do 14.01.2010
Autor: qsxqsx

Ich wollte sagen, dass es jetzt geht!

Das struct hat hier einen Konstruktor gebraucht, welchen man normalerweise nur bei Klassen braucht. Aufjedenfall geht es!

Hier der Konstruktor, falls es jemandem hilft:
emptycells() :  xc(), yc()  { for(int i = 0; i < 9;  i++) possiblenumbers[i] = i+1; }

die Frage kann auf beantwortet gesetzt werden...

Bezug
                                
Bezug
C2039-Error: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 02:46 Fr 15.01.2010
Autor: felixf

Hallo!

> Ich wollte sagen, dass es jetzt geht!
>  
> Das struct hat hier einen Konstruktor gebraucht, welchen
> man normalerweise nur bei Klassen braucht. Aufjedenfall
> geht es!

Genau. Du kannst in einer Strukturdefinition nicht schon Werte vorgeben.

(Strukturen und Klassen sind uebrigens in C++ das gleiche -- der einzige Unterschied ist, dass in Klassen alles private ist soweit nicht anders gesagt, und in Strukturen alles public.)

LG Felix


Bezug
                
Bezug
C2039-Error: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 02:44 Fr 15.01.2010
Autor: felixf

Hallo Infinit,

> soweit ich weiss, darf bei der Felddeklarartion kein Blank
> zwischen dem Feldnamen und der Feldgröße sein.

das stimmt nicht, da darf man beliebig viele Leerzeichen einfuegen. Darf man eigentlich so gut wie ueberall.

LG Felix


Bezug
                        
Bezug
C2039-Error: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 08:40 Sa 16.01.2010
Autor: Infinit

Hallo felix,
danke für diese Info. Dann sind die heutigen Compiler nicht mehr so kniggerig wie noch zu meinen Studienzeiten.
Viele Grüße,
Infinit

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


^ Seitenanfang ^
www.vorhilfe.de