7H3 N4C3R
Lt. Commander
- Registriert
- Feb. 2002
- Beiträge
- 1.816
Hi!
Ich habe ein Problem. Am besten erklärt sich das wohl an diesem Beispiel-Code-Schnipsel:
Folgendes geht am Compiler aber ohne Warning oder sonstwas vorbei (ist ja eigentlich auch C++-Standard):
Um den semantischen Sinn zu verdeutlichen, will ich solche Zuweisungen aber verbieten.
Meine erste Überlegung war, ein kleines Template um den Datentyp zu schreiben, dass alle relevanten Operatoren überlädt und sich somit transparent verhält, aber solche Zuweisungen verbietet. Die Lösung gefällt mir aber nicht so sehr, da es möglicherweise unnötigen Overhead erzeugt (auch inline - sofern das geht). Kennt jemand vielleicht einen besseren Weg?
Ich habe ein Problem. Am besten erklärt sich das wohl an diesem Beispiel-Code-Schnipsel:
Code:
typedef int Feldstaerke;
typedef int Koordinate;
Folgendes geht am Compiler aber ohne Warning oder sonstwas vorbei (ist ja eigentlich auch C++-Standard):
Code:
FeldStaerke f = 0;
Koordinate k = 1; // muss keinen Sinn machen ;)
k = f;
Um den semantischen Sinn zu verdeutlichen, will ich solche Zuweisungen aber verbieten.
Meine erste Überlegung war, ein kleines Template um den Datentyp zu schreiben, dass alle relevanten Operatoren überlädt und sich somit transparent verhält, aber solche Zuweisungen verbietet. Die Lösung gefällt mir aber nicht so sehr, da es möglicherweise unnötigen Overhead erzeugt (auch inline - sofern das geht). Kennt jemand vielleicht einen besseren Weg?
Zuletzt bearbeitet: