[gelöst] QVector/QList in struct ergibt "not in scope&q

Alles rund um die Programmierung mit Qt
Antworten
Cabo
Beiträge: 13
Registriert: 6. Mai 2010 17:10

[gelöst] QVector/QList in struct ergibt "not in scope&q

Beitrag von Cabo »

Hallo,
ich habe mal wieder eine Frage.
Ich habe nach folgendem Muster eine Struktur angelegt:

Code: Alles auswählen

struct Traces{
QList<double> traces;
int index;
struct Traces *next;
}
Die Struktur befindet sich in der header-Datei unter der Klassen Deklaration.
Wenn ich nun in der cpp-Datei ein Objekt dieser Struktur anlege, kann ich auf die index Variable zugreifen, bei der QList sagt er mir allerdings "not in scope". Das selbe Problem tritt auch bei QVector auf. Bei einfachen Typen wie eben int, char etc findet er die Variable. Woran könnte das liegen?

Code: Alles auswählen

struct Traces *next, *first;
next = (Traces*)calloc(1, sizeof(struct Traces));
first = next;

next->index = 1; //funktioniert
next->traces.append(zahl); //funktioniert nicht, "not in scope"
Zuletzt geändert von Cabo am 9. August 2010 11:56, insgesamt 1-mal geändert.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

BITTE programmier C++ und nicht C. Verwende new statt <x>alloc.

Code: Alles auswählen

struct Traces{
    QList<double> traces;
    int index;
    Traces *next;  // das "struct" vor dem Traces brauchts in C++ nicht!
};

///

struct Traces *next, *first;
next = new Traces;
first = next;

next->index = 1; //funktioniert
next->traces.append(zahl);
Und dir ist klar, dass du grad die Member voll exponierst und der Verwender deines struct allen möglichen Dreck mit Objekten machen kann?
Du kannst in C++ diese Member private machen und getter/setter anbieten, in denen du überprüfen kannst, ob auch wirklich alles korrekt abläuft.
Cabo
Beiträge: 13
Registriert: 6. Mai 2010 17:10

Beitrag von Cabo »

VIELEN dank für deine antwort -.- manchmal sind die fehler echt blöder als man meinen will ^^.
ich habe bis jetzt sowieso noch nicht viel mit der struktur gemacht, dieses "not in scope" hat mich vorrangig beschäftigt. ich werde auf jeden fall noch get/set methoden einbauen.
danke noch mal
Antworten