Hallo zusammen,
ich habe folgendes Problem. Momentan versuche ich ein Array zwischen zwei QGLWidgets hin und her zu senden. Der Sinn und Zweck davon sollte zunächst keine Rolle spielen.
Dazu habe ich ein SIGNAL sendArray(double M[16]) definiert , welches das Senden übernehmen soll und einen SLOT processArray(double M[16]), der das empfangene Array verarbeiten soll.
Die beiden QGLWidgets connecte ich in meiner Window.cpp via
connect(left, SIGNAL(sendArray(double[16])), right, SLOT(processArray(double[16])));
Ich habe jetzt festgestellt, dass das, was ich mit meinem SIGNAL sende, nicht mit dem übereinstimmt, was bei meinem SLOT ankommt.
Wenn also z.B
double M[16] = {1, 1, 1, ...., 1};
emit sendArray(M);
dann zeigt mir der VisualStudio Debugger beim Aufruf des SLOTS processArray(double M[16]) nur den Wert 2.6056750241814294e-308 an.
Hat irgendjemand von euch eine Idee, was ich da falsch mache?
SIGNALS und arrays
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Kommt drauf an: Inside the Qt 4 Containers
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Ich schätze mal dass bei der Normalisierung das [16] wegfällt und somit danach die Signatur nicht mehr passt. double* ist aber auch nicht wirklich type-safe. Aber Du arbeitest ja eh mit C-Arrays - da ist ja eh nichts safe und man muss genau aufpassen 
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung