it goes wrong when I try to complied in DLL.
The problem was found in numeric.hpp line 51.
it seems to be that visual studio cannot understand the template as follows:
///
/// constexpr max
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type max (NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
///
/// constexpr min
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type min (NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
And I fix it the template as follows:
///
/// constexpr max
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type (max)(NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
it goes wrong when I try to complied in DLL. The problem was found in numeric.hpp line 51. it seems to be that visual studio cannot understand the template as follows: ///
/// constexpr max
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type max (NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
///
/// constexpr min
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type min (NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
And I fix it the template as follows:
///
/// constexpr max
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type (max)(NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}
///
/// constexpr min
///
template <typename NumberL, typename NumberR>
constexpr typename std::common_type<NumberL, NumberR>::type (min) (NumberL lval, NumberR rval)
{
return (lval < rval) ? (lval) : (rval);
}