C++ Dynamisches Objekt

OP #4677913
Lesenswert?
• ▲
▼
Hallo liebe Community,

weis Jemand, wieso folgender Code nicht funktioniert?

Compiler: Error: Identifier "DMX" is undefined in "Main/Main.cpp", Line: 
16, Col: 14

#include "Configuration.h"
#include "DMX512.h"


void startup ( void ) {

    Configuration* DMX = new Configuration;
};


int main ( void ) {

    startup ( );
    //Application Code
    int i = DMX -> s_DMX_Config_struct.baudrate;
};

LG Christian
#4677935
Lesenswert?
• ▲
▼
Christian K. schrieb:
> Wieso kann ich dann nicht mit dem Zeiger DMX auf das Objekt zugreifen?
Weil die Funktion 'startup' die Position nicht preisgibt.

Die Alternative wäre:
1
Configuration* startup ()
2
{
3
  return new Configuration;
4
};

*Aber!* Hier fehlt noch die Prüfung, ob überhaupt ein Objekt angelegt 
werden konnte. Und du musst dich natürlich auch noch um die spätere 
Freigabe des Objekts kümmern.
(Firma: Torrox.de) #4677964
Lesenswert?
• ▲
▼
Christian K. schrieb:
> Könnte jemand mal ein Beispiel geben, wie man es anders machen kann? Ich
> würde gerne ein Objekt in einer Methode erstellen, auf welches ich im
> gesamten Programm zugreifen kann.
1
#include "Configuration.h"
2
#include "DMX512.h"
3

4
Configuration startup() 
5
{
6
    return Configuration();
7
};
8

9
Configuration DMX = startup();
10

11
int main() 
12
{
13
    //Application Code
14
    int i = DMX.s_DMX_Config_struct.baudrate;
15
};

C++ ist nicht C, aber auch nicht Java.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren