000
22.03.2009, 22:42 Uhr
~int0
Gast
|
Hallo,
ok, die Überschrift ist mir jetzt nicht so gelungen, aber was solls - ich hab folgendes Problem: und zwar habe ich eine Template Vektor Klasse geschrieben und es können beliebig große Vektoren erstellt werden. Das Problem dabei ist, dass meine Daten durch die bereitgestellten Funktionen zum Handeln von beliebig vielen Parametern (va_list, va_end usw ...) irgendwie verfälscht werden, weil CODE1 funktioniert einwandfrei (ohne beliebig viele parameter), aber wenn ich den Konstruktor der template klasse mit beliebig vielen Paramtern implementier bekomme ich ständig falsche Vektorergebnisse mit irgendwelchen sonderzeichen usw ... -> siehe CODE2
Was mache ich falsch? Also lt. c++ reference usw ... müsste eigentlich die semantik von CODE2 passen.
Hoffe ihr könnt mir helfen.
Liebe Grüße + Danke,
---------------------------------- CODE1
VectorN(const T x,T y, T z){ components[0] = x; components[1] = y; components[2] = z; }
----------------------- CODE2 -----------------------
VectorN(T x, ... ){
va_list parameters; va_start(parameters, x); for(int i = 0;i < N; i++){ components[i] = va_arg(parameters, T); } va_end(parameters);
}; |