Manuel B.: struct innerhalb einer Klasse

Beitrag lesen

Moin Manuel,

Hi,

das ist eigentlich alles kein Problem. Leider postest du hier keine Fehlermeldung.

Fehlermeldung kommt keine, nur ist der Wert in der int main() nicht verfügbar.

class Device{
public:
    Device(char* devicelist);
    ~Device();

int device_number;
 const char* id[];

struct device_data{
  const char* name;
  const char* description;
  const char* filename;
 } *p_device;

private:
 ezxml_t DeviceList(char* device_list);
 std::string devices_e;
 char devices_c[];
};

Ich vermute mal, dass du die Struktur oder die Instanz der Struktur nicht public gemacht hast.

Die Struktur ist also Public.

if(device[device_counter].name = ezxml_attr(attribute_list, "id"));

(Wobei "device_counter" über eine for()-Schleife erhöht wird)
Jetzt kann ich innerhalb der Klasse auf device[0].name zugreifen.
Wenn ich allerdings aus der int main() auf diesen Wert zugreifen will:

Device dev(devicefile);
cout << dev.device[0].name << endl;

Kommt die Meldung, das "device" kein Member der Klasse Device ist. Wenn ich per *p_device zugreifen will, klappt es auch nicht.

Insgesammt will ich ein Array in der Klasse erzeugen, auf dessen Werte ich in der main() zugreifen kann. Mit Werten ausserhalb der Struktur klappt es ja auch ;)

Bisher hatte ich noch nie eine STruktur innerhalb einer Klasse, deshalb ist das ein problem für mich, und ich komm einfach nicht weiter :(