Neuer Thread
Ansicht umschalten Baum an
Avatar von ma-ric
  • ma-ric

5 Beiträge seit 24.07.2016

Re: forward template specialization

Um eine Spezialisierung nach einer Instanzierung zu umgehen [ error C2908: explicit specialization; 'UU<float>' has already been instantiated] und man dennoch eine `class inline definition` verwenden will, kann zB folgendes verwendet werden:

template <typename T>
struct UU_x
{
};

template<> struct UU_x<int> { using type = float; };
template<> struct UU_x<float> { using type = int; };

template <typename T>
class UU
{
using UU2 = UU<UU_x<T>>;

void x()
{
UU2 u;
}
};

Das Posting wurde vom Benutzer editiert (17.04.2017 12:36).

Bewerten - +
Anzeige