Seite 1 von 1

[gelöst] Rückgabewert von msecsTo() immer 0

Verfasst: 7. Januar 2008 14:01
von TimeForGold
Ich übergebe an die Funktion startCountdown() ein QTime, der seinen Ursprung aus einem QTimeEdit hat. Der Wert des QTime (QTime enthält auch den korrekten Wert) wird korrekt an die FunktionmsecsTo() übergeben. Leider kommt hier immer die 0 heraus, warum?

Code: Alles auswählen

void CCountdown::startCountdown(QTime cStopTime)
{
	const QTime cTime = cStopTime;
	m_iMillisec = cStopTime.msecsTo(cTime);
	m_cTimer.start(m_iMillisec);
	if(m_cTimer.timerId() == -1)
	{
		printf("Timer nicht gestartet.");
	}
}
Ich weiß es sind überflüssige Variablen im Code, war nur zu Debugzwecken für mich. Danke.

Verfasst: 7. Januar 2008 14:41
von macman
Überleg noch mal was Du da als Parameter übergibst.

Verfasst: 7. Januar 2008 14:49
von TimeForGold
Sorry ich sehe den Fehler nicht. Ich über gebe hier eine Referenz (glaube ich :) ) die const ist und vom Typ QTime wie gefordert.

Dabei muss ich zugeben, das ich noch nicht solange bei der C++ Programmierung bin und manchmal noch Probleme mit Referenzen und Pointer habe. Deswegen habe ich auch schonmal ver sucht &cTime sowas zu übergeben, war mir wegen der Referenz nicht sicher, hatte aber nicht funktioniert.

Verfasst: 7. Januar 2008 15:03
von Christian81
Es ist (leider) keine Referenz.
Wenn ich eine Zeit mit sich selbst vergleiche - was wird wohl dabei rauskommen?

Verfasst: 7. Januar 2008 15:08
von TimeForGold
Ja manchmal liegt es echt vor der Nase das Problem, danke.