Math/Angle: Fix compilation & warning on GCC < 8

This commit is contained in:
Jérôme Leclercq 2018-10-12 17:09:39 +02:00
parent 4c4822eef9
commit 5e45983953
2 changed files with 11 additions and 11 deletions

View File

@ -26,7 +26,7 @@ namespace Nz
{
public:
Angle() = default;
Angle(T value);
Angle(T angle);
template<typename U> explicit Angle(const Angle<Unit, U>& Angle);
Angle(const Angle&) = default;
~Angle() = default;
@ -51,8 +51,8 @@ namespace Nz
Angle<AngleUnit::Radian, T> ToRadianAngle() const;
String ToString() const;
template<AngleUnit U = Unit, typename = std::enable_if_t<U != AngleUnit::Degree>> operator Angle<AngleUnit::Degree, T>();
template<AngleUnit U = Unit, typename = std::enable_if_t<U != AngleUnit::Radian>> operator Angle<AngleUnit::Radian, T>();
template<AngleUnit U = Unit, typename = std::enable_if_t<U != AngleUnit::Degree>> operator Angle<AngleUnit::Degree, T>() const { return ToDegreeAngle(); } // GCC < 8 bug
template<AngleUnit U = Unit, typename = std::enable_if_t<U != AngleUnit::Radian>> operator Angle<AngleUnit::Radian, T>() const { return ToRadianAngle(); } // GCC < 8 bug
Angle& operator=(const Angle&) = default;

View File

@ -150,8 +150,8 @@ namespace Nz
* \param value value of the angle
*/
template<AngleUnit Unit, typename T>
Angle<Unit, T>::Angle(T value) :
value(value)
Angle<Unit, T>::Angle(T angle) :
value(angle)
{
}
@ -345,23 +345,23 @@ namespace Nz
* \brief Returns the degree angle that is equivalent to this one
* \return Equivalent degree angle
*/
template<AngleUnit Unit, typename T>
/*template<AngleUnit Unit, typename T>
template<AngleUnit U, typename>
Angle<Unit, T>::operator Angle<AngleUnit::Degree, T>()
Angle<Unit, T>::operator Angle<AngleUnit::Degree, T>() const
{
return ToDegreeAngle();
}
}*/
/*!
* \brief Converts the angle to a string representation
* \return String representation of the angle
*/
template<AngleUnit Unit, typename T>
/*template<AngleUnit Unit, typename T>
template<AngleUnit U, typename>
Angle<Unit, T>::operator Angle<AngleUnit::Radian, T>()
Angle<Unit, T>::operator Angle<AngleUnit::Radian, T>() const
{
return ToRadianAngle();
}
}*/
/*!
* \brief Addition operator