Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » typedef struct

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.06.2008, 12:14 Uhr
sweber



Hallo Leute,

möchte ein struct initialisieren, aber es will so richtig.
Die 1. und 3. funktioniert, aber die 2. und 4. Zeile nicht.


C++:
typedef struct{
   static const int IdentNumber = 0x1FFF;
   static const int ExtPrmData[9];  /*= (0x0, 0x0, 0x0, 0x88, 0x88, 0x88, 0x88, 0xFF, 0xFF, 0x01);*/
   static const int cfg_dlen = 7;
   static const int CfgData [6] /*= {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0;}*/
} FXDP;      //Turck Modul FXDP-CSG88-0001



Gruß

Dieser Post wurde am 26.06.2008 um 16:24 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.06.2008, 12:23 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Du hast jaauch jeweils ein Element mehr in der Initialisierung als in deinem Array, außerdem benutzt du in Zeile 2 normale Klammern und machst in Zeile 4 ein Semikolon vor der }
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.06.2008, 12:27 Uhr
sweber




C++:
typedef struct{
   static const int IdentNumber = 0x1FFF;
   static const int ExtPrmData[10] = {0x0, 0x0, 0x0, 0x88, 0x88, 0x88, 0x88, 0xFF, 0xFF, 0x01};
   static const int cfg_dlen = 7;
   static const int CfgData [7] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0;}
} FXDP;




wenn ich dies ändere kriege ich folgende Fehlermeldung.


Kompilieren...:

..\profi-kommunikation_finn.cpp(37) : error C2059: Syntaxfehler: '{'
..\profi-kommunikation_finn.cpp(37) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen
..\profi-kommunikation_finn.cpp(39) : error C2059: Syntaxfehler: '{'
..\profi-kommunikation_finn.cpp(39) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen


Dieser Post wurde am 26.06.2008 um 16:25 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.06.2008, 15:33 Uhr
Tron



Moin,

nicht!


Code:
static const int CfgData [7] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0;}


sondern so!


Code:
static const int CfgData [7] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0};


steht doch schon oben!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.06.2008, 15:47 Uhr
sweber



es bringt trotz dem nichts. Habe schon verschiedene Varianten ausprobiert.
der Kompiler beschwert sich ja über das erste "{"

hat es was mit den Einstellungen zu tun?

Benutze Visual Studio 2005 V. 2.0



C++:
typedef struct{
static const int IdentNumber = 0x1FFF;  
static const int ExtPrmData[10] = {0x0, 0x0, 0x0, 0x88, 0x88, 0x88, 0x88, 0xFF, 0xFF, 0x01}; //Zeile 37

static const int cfg_dlen = 7;
static const int CfgData [7] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0}; //Zeile 39
} FXDP; //Turck Modul FXDP-CSG88-0001





Code:
..\profi-kommunikation_finn.cpp(37) : error C2059: Syntaxfehler: '{'
..\profi-kommunikation_finn.cpp(37) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen
..\profi-kommunikation_finn.cpp(39) : error C2059: Syntaxfehler: '{'
..\profi-kommunikation_finn.cpp(39) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionstext wird übersprungen


Dieser Post wurde am 26.06.2008 um 16:26 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.06.2008, 16:28 Uhr
Tommix



Hallo,
eigentlich spricht die Fehlermeldung: "Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden."


C++:
typedef struct {
    static const int IdentNumber = 0x1FFF;
    static const int ExtPrmData[10];
    static const int cfg_dlen = 7;
    static const int CfgData [7];
} FXDP; //Turck Modul FXDP-CSG88-0001

const int FXDP::ExtPrmData[] = {0x0, 0x0, 0x0, 0x88, 0x88, 0x88, 0x88, 0xFF, 0xFF, 0x01};
const int FXDP::CfgData[] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0};



Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.06.2008, 15:50 Uhr
sweber



wenn ich es jetzt wie es da steht einfach in mein Projekt einfüge, erhalte ich folgende Fehlermeldung.

..cpp(175) : error C2065: 'IdentNumber': nichtdeklarierter Bezeichner
..cpp(176) : error C2065: 'ExtPrmData': nichtdeklarierter Bezeichner

Nimmt mir es nicht übel, aber ich arbeite mit c/c++ erst 2. Monate und kenne mich noch schlecht aus.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.06.2008, 17:34 Uhr
Tommix



Da muß Dir beim einfügen ein Fehler unterlaufen sein.

C++:


typedef struct {
    static const int IdentNumber = 0x1FFF;
    static const int ExtPrmData[10];
    static const int cfg_dlen = 7;
    static const int CfgData [7];
} FXDP; //Turck Modul FXDP-CSG88-0001

const int FXDP::ExtPrmData[] = {0x0, 0x0, 0x0, 0x88, 0x88, 0x88, 0x88, 0xFF, 0xFF, 0x01};
const int FXDP::CfgData[] = {0xC1, 0x00, 0x00, 0x07, 0x41, 0x03, 0xF0};

int main(void)
{
    FXDP fxdp;
    return 0;
}


läßt sich compilieren.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: