Folgendes Beispiel liefert unerwartete Ergebnisse:
void rotateXRad(const double& angle);
void rotateX(const double& angle)
{
rotateXRad(angle\*PI/180.0);
};
Und so funktionierts:
void rotateXRad(const double& angle);
void rotateX(const double& angle)
{
double tmpAngle=angle\*PI/180.0;
rotateXRad(tmpAngle);
};
Woran es liegt ist mir schon klar - das temporäre Objekt
welches als Referenz an rotateXRad übergeben wird, wird
anscheinend gleich wieder zerstört (bevor der Funktionsaufruf
beendet ist). Ich frage mich nur ob es korrekt ist das das
temporäre Object das für angle*PI/180.0 erzeugt wurde zerstört
wird, bevor die Zeile komplett abgearbeitet wurde.
Compiler ist gcc3.3
Weiß jemand wie genau der Standard dazu aussieht?
Gruß Ben