Hallo Leute,
ich bin mir grad garnicht sicher ob die Frage die ich habe überhaupt in
dieses Forum gehört. Aber ich stelle Sie mal trotzdem :)
Ich möchte in C++ ein Programm schreiben welches sich aus mehreren
Hardware-Modulen zusammen setzt. Je nachdem welche parameter ich am
Programmstart festlege soll sich das Programm aus den entsprechenden
Hardware Modulen zusammen setzen ( beispielsweise USART+I2C oder USART +
USB oder was auch immer).
Dazu lege ich ein Objekt an, welches aus mehreren Objekten besteht.
Das I2c-Objekt hat einen übergabe-Parameter für den constructor.
Folgender Quelltext wird anstandslos kompiliert.
1 | class testklasse
|
2 | {
|
3 | private:
|
4 |
|
5 | public:
|
6 |
|
7 | testklasse();
|
8 | USARTObject USARTabc;
|
9 | I2cObject I2Cabc( /* 0xAA */ );
|
10 | };
|
Der jetzt folgende Quelltext wird nihct kompiliert. Es kommen die
Fehlermeldungen:
-expected identifier before numeric constant
und
-expected ',' or '...' before numeric constant
1 | class testklasse
|
2 | {
|
3 | private:
|
4 |
|
5 | public:
|
6 |
|
7 | testklasse();
|
8 | USARTObject USARTabc;
|
9 | I2cObject I2Cabc( 0xAA );
|
10 | };
|
Mir ist ja bekannt, dass ich laut c++ spec. variablen beim anlegen in
Objekten nihct gleich einen Wert zuweisen kann, sondern dass im
constructor machen muss, aber gilt das auch für objekte??
Ich benutze RowleyCrossworks auf einem STM32
Für Hilfe wäre ich echt dankbar.
Grüße Tarkan