[erledigt] Hilfe bei Fehlersuche benötigt

Namd allerseits!

Ich suche mir gerade wieder eine Hornhaut auf die Brille. Wieso wird mir in folgendem Codeteil ein 'does not name a type'-Fehler ausgeworfen? Die betreffende Zeile ist deutlich gekennzeichnet.

Vielen Dank vorweg!

Gregor

// MIDI mit SoftwareSerial

#include <SoftwareSerial.h>

// Anschluss (DIN-Buchse von der Loetseite/hinten gesehen):
// - Der mittlere Anschluss ist mit der Abschirmung verbunden
//   und geht an GND
// - Der Anschluss rechts neben dem mittleren geht 
//   ueber einen 220-Ohm-Widerstand an +5V
// - Der Anschluss links neben dem mittleren geht 
//   an TX bzw. RX
// - Ganz links und ganz rechts wird nichts angeschlossen

// Wenn Ausgaben auf der seriellen Schnittstelle erfolgen sollen,
// Kommentar vor der folgenden Zeile entfernen
//#define DEBUG 1

void MIDISend(byte, byte, byte, byte);

SoftwareSerial MIDIOut(2, 3); // MIDI-Out-Pins (RX, TX)
SoftwareSerial MIDIIn(4, 5); // MIDI-In-Pins (RX, TX)

struct MIDIMsg
{
  byte cmd;     // Befehl
  byte channel; // Kanal
  byte data1;   // Datenbyte 1
  byte data2;   // Datenbyte 2
};

struct Fader
{
  byte pin; // Analog-Pin an den der Fader angeschlossen ist
  byte channel; // Dem Fader zugeordneter MIDI-Kanal
  byte cmd; // Dem Fader zugeordneter Befehl
  byte controllerNumber; // Controllernummer
  byte lastValue; // Zuletzt geschickte Fader-Position
};

Fader leftFader;
Fader rightFader;

leftFader.pin=A7;  // <-------------------------'leftFader' does not name a type?!
rightFader.pin=A6;
...

Kode außerhalb von Funktionen geht nicht gut...

Um Variablen beim erstellen eines Objekts zu initialisieren gibt es Konstruktoren. Wenn man eine Initialisierungsliste verwendet geht es auch mit Konstanten

struct Fader
{
  Fader(byte pin) : pin(pin)
  {
  }
  

  const byte pin;
};

Fader leftFader(A7);

Whandall:
Kode außerhalb von Funktionen geht nicht gut...

Uh ... danke!

Ich habe das gesehen wie Deklaration und Zuweisung einer globalen Variable.

Gruß

Gregor