Aufruf eines Structs

OP #4679077
Hallo liebe Community,

wieso funktioniert folgender Aufruf nicht?


In der cpp-Datei

bool Configuration :: DMX_Config_method ( Configuration* 
DMX_Config_struct ) {

    DMX_Config_struct -> DMX_Config.baudrate = 250000;

    return true;
};

In der h-Datei

#ifndef CONFIGURATION_H_
#define CONFIGURATION_H_

#include "mbed.h"

class Configuration {

    private:

    public:

    Configuration ( void );
    ~ Configuration ( void );

    bool DMX_Config_method ( Configuration* DMX_Config_struct );

    struct DMX_Config {

        unsigned int baudrate;
        unsigned int bits;
        unsigned int stopbits;

        SerialBase :: Parity parity;

        PinName pin_RX;
        PinName pin_TX;
    };
};

#endif


Error:Error: Type name is not allowed in 
"Configuration/Configuration.cpp", Line: 11, Col: 27



LG Christian
Gast #4679087
Was soll das darstellen?
1
 bool DMX_Config_method ( Configuration* DMX_Config_struct );

eventuell erst mal den Syntax der Sprache richtig verwenden.

Vermutlich gibt es dafür auch eine Warnung
Moderator Persönliche Seite #4679094
Christian K. schrieb:
> struct DMX_Config {
>
>         unsigned int baudrate;
>         unsigned int bits;
>         unsigned int stopbits;
>
>         SerialBase :: Parity parity;
>
>         PinName pin_RX;
>         PinName pin_TX;
>     };

Falsch. Richtig wäre:

    struct {

        unsigned int baudrate;
        unsigned int bits;
        unsigned int stopbits;

        SerialBase :: Parity parity;

        PinName pin_RX;
        PinName pin_TX;
    } DMX_Config;

Dann klappt das auch mit

    DMX_Config_struct -> DMX_Config.baudrate = 250000;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.