[gelöst] Template von struct innerhalb einer Klasse scheitert
-
EDIT:
hatte Definition und Implementierung miteinander verwechselt...header
typedef struct PiezoJenaLimits_st{ PiezoJenaLimits_st() { StandardLimits(); } template < typename T > struct MinMaxSt{ MinMaxSt(): min(0), max(0), standard(0) {} T min; T max; T standard; }; MinMaxSt<double> range_velocity; void StandardLimits() { range_size.voltage.min = -20; range_size.voltage.max = 130; } } PiezoJenaLimits;cpp Datei
void PiezoJena::setRampSpeed(double value) { double min = PiezoJenaLimits.range_velocity.min; ...liefert den Fehler:
error C2275: 'PiezoJenaLimits': Ungültige Verwendung dieses Typs als Ausdruck
error C2228: Links von ".min" muss sich eine Klasse/Struktur/Union befinden.Warum?, was muss ich anders machen?
Matthias
-
Dein Beispiel ist ziemlich unvollständig und inkonsistent von den Namen her, daher ist es schwer, deinen Fehler nachzuvollziehen. Aber ich würde sagen:
void PiezoJena::setRampSpeed(double value) { double min = range_velocity.min; }edit: Wie du siehst, hat das übrigens nichts mit templates zu tun, sondern allgemein mit der richtigen Verwendung von Klassenmembern.