matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

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
StartseiteMatheForenC/C++C2039-Error
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Philosophie • Religion • Kunst • Musik • Sport • Pädagogik
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.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]