Hier mal der Quelltext meines Versuchs (Konsolenanwendung):
void prodsum (int k1, int k2, float x, float y)
//int prodsum (float k1, float k2, float x, float y)
//float prodsum (float &k1, float &k2, float x, float y)
//int prodsum (float k1, float k2, float &x, float &y)
//void prodsum (float k1, float k2, int x, int y)
{
//	return 0;
}

int main(int argc, char* argv[])
{
	float produkt, summe;
	produkt=float(0.815); summe=float(47.11);
	prodsum (float (1,45), float(5.97), produkt, summe);
//	return 0;
}
Einfach nur jeweils auskommentieren. Die ganzen float(s), weil die Konstanten automatisch als double angenommen werden und sonst immer eine Warnung kommt, wenn es zu float verkürzt wird. Die einzige Version, die wirklich nicht funktioniert, ist Nr. 3 (Hi Ragon, wie geht's?), der Rest würde laufen, aber z.T. mit Warnungen wegen Datenverlust, eben dem Abschneiden der Nachkommastellen. @Xan: Woher weißt du, dass produkt und summe nur Ausgabeparamter sind, durch diese Übergabe können sie beides sein? (der Compiler meckert z.b. an, wenn sie nicht initialisiert sind - bei Delphi so schön einfach mit var, out und const) Ich würde vom Sinn her rangehen, beim Aufruf der Funktion interessiert der Rückgabewert also nicht, da nirgends zugewiesen. Von den beiden ohne Datenverlust möglichen Varianten macht nur Nr. 4 Sinn, dort werden Zeiger übergeben und ermöglichen damit die Änderung der Variablen. Also zusammengefasst: 3.) völlig unmöglich 1.), 5.) möglich, aber sicher nicht erwünschter Datenverlust durch Abschneiden der Nachkommastellen und auch keinerlei Möglichkeit zur Datenrückgabe - Funktion ist void, Varible sind Konstanten 2.) möglich, aber keinerlei Ergebnisrückgabe: das Ergebnis der Funktion wird nicht ausgewertet und die Parameter werden als Konstanten übergeben es bleibt also nur Nr. 4 Passt auch recht gut zu meinen Erfahrungen, ich verwende häufig Win API-Funktionen, deren Rüchgabewerte, die meistens tatsächlich nur einen Fehlercode bedeuten, werte ich eher selten aus. Die Ergebnisse finden sich in den Variablen, die ich beim Aufruf als Zeiger übergeben habe.