SIGNALS und arrays
Verfasst: 17. April 2007 15:41
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?
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?