I want to create template class to get reference type and non-reference type template class with same class like below
template <typename T> requires (std::is_reference_v<T>)
struct RRR
{
T m_value{};
RRR(T init) : m_value{ init }
{}
};
template <typename T> requires (!std::is_reference_v<T>)
struct RRR
{
T m_value{};
RRR(T init) : m_value{ init }
{}
};
but when I use this, I met below compile error.
error: redeclaration ‘template requires is_reference_v struct RRR’ with different constraints
what is solution for defining template like this case?