diff --git a/src/Math/Vector3.h b/src/Math/Vector3.h index be9934043..5653ca6de 100644 --- a/src/Math/Vector3.h +++ b/src/Math/Vector3.h @@ -68,7 +68,7 @@ template class Vector3: public Vector<3, T> { * @param other Two component vector * @param z Z / B value */ - inline constexpr Vector3(const Vector<2, T>& other, T z = T(0)): Vector<3, T>(other[0], other[1], z) {} + inline constexpr Vector3(const Vector<2, T>& other, T z): Vector<3, T>(other[0], other[1], z) {} inline constexpr T x() const { return (*this)[0]; } /**< @brief X component */ inline constexpr T y() const { return (*this)[1]; } /**< @brief Y component */ diff --git a/src/Math/Vector4.h b/src/Math/Vector4.h index 5b1e57418..2661f8344 100644 --- a/src/Math/Vector4.h +++ b/src/Math/Vector4.h @@ -53,6 +53,8 @@ template class Vector4: public Vector<4, T> { * @param other Three component vector * @param w W / A value */ + /* Not marked as explicit, because conversion from Vector3 to Vector4 + is fairly common, nearly always with W set to 1 */ inline constexpr Vector4(const Vector<3, T>& other, T w = T(1)): Vector<4, T>(other[0], other[1], other[2], w) {} inline constexpr T x() const { return (*this)[0]; } /**< @brief X component */