From e97aee99b1af6275cc1cb7a8b432833b04c2adca Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Sat, 28 Dec 2024 14:58:05 +0100 Subject: [PATCH] Trying to fix specialization before instantiation error --- Angle.cpp | 10 +++------- Angle.h | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Angle.cpp b/Angle.cpp index cb7b6e0..39f12df 100644 --- a/Angle.cpp +++ b/Angle.cpp @@ -9,16 +9,12 @@ const float Rad2Deg = 57.29578F; const float Deg2Rad = 0.0174532924F; -//---------------------- - -template AngleOf::AngleOf() : value(0) {} - -template const AngleOf AngleOf::zero = AngleOf(); - //===== Generic template AngleOf::AngleOf() : value(0) {} +template AngleOf::AngleOf(T rawValue) : value(rawValue) {} + template const AngleOf AngleOf::zero = AngleOf(); template AngleOf AngleOf::Binary(T rawValue) { @@ -286,7 +282,7 @@ template <> AngleOf AngleOf::Degrees(float degrees) { degrees -= 360; } - return Binary(degrees); + return AngleOf(degrees); } template <> AngleOf AngleOf::Radians(float radians) { diff --git a/Angle.h b/Angle.h index f8a215f..501a2dd 100644 --- a/Angle.h +++ b/Angle.h @@ -211,7 +211,7 @@ public: private: T value; - AngleOf(T value); + AngleOf(T rawValue); }; // using Angle = AngleOf;