fixes MSVC Community 2015 ICE
The default constructors are now used as template specializations by postponing them below the template definition
This commit is contained in:
@@ -112,16 +112,6 @@ class VectorT {
|
|||||||
|
|
||||||
//-------------------------------------------------------------- constructors
|
//-------------------------------------------------------------- constructors
|
||||||
|
|
||||||
/// default constructor creates uninitialized values.
|
|
||||||
constexpr VectorT() {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a vector with all components set to v.
|
|
||||||
*/
|
|
||||||
explicit VectorT(const Scalar &v) {
|
|
||||||
vectorize(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename ... T,
|
template<typename ... T,
|
||||||
typename = typename std::enable_if<sizeof...(T) == DIM>::type,
|
typename = typename std::enable_if<sizeof...(T) == DIM>::type,
|
||||||
typename = typename std::enable_if<
|
typename = typename std::enable_if<
|
||||||
@@ -133,6 +123,16 @@ class VectorT {
|
|||||||
"Not all components are convertible to Scalar.");
|
"Not all components are convertible to Scalar.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// default constructor creates uninitialized values.
|
||||||
|
constexpr VectorT() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a vector with all components set to v.
|
||||||
|
*/
|
||||||
|
explicit VectorT(const Scalar &v) {
|
||||||
|
vectorize(v);
|
||||||
|
}
|
||||||
|
|
||||||
VectorT(const VectorT &rhs) = default;
|
VectorT(const VectorT &rhs) = default;
|
||||||
VectorT(VectorT &&rhs) = default;
|
VectorT(VectorT &&rhs) = default;
|
||||||
VectorT &operator=(const VectorT &rhs) = default;
|
VectorT &operator=(const VectorT &rhs) = default;
|
||||||
|
|||||||
Reference in New Issue
Block a user