Template-Template-Default-Parameter [solved]



  • Ich hab eine Klassetemplate

    template <class T>
    class PointContainer_xy {
    public:
    
        template <class Weight>
        using Coreset = std::vector<std::pair<size_t, Weight> > ;
    

    Und noch ein Klassentemplate

    template <class PointContainer,
              class T = typename PointContainer::value_type,
              class IndexType = typename PointContainer::index_type>
    class RangeTree {
    

    mit einer Methode

    template <class Point,
                  class Weight = size_t,
                  template <class> class Coreset = PointContainer::Coreset > // hier liegt mein Problem
        Coreset<Weight> query(Point min, Point max, bool exact = false) {
    

    Wie muss die Zeile richtig lauten, damit es kompilierbar ist?

    Alternativ wäre auch sowas hier ok:

    template <class Point,
                  class Weight = size_t,
                  class Coreset = PointContainer::Coreset<Weight> > // hier liegt mein Problem
        Coreset query(Point min, Point max, bool exact = false) {
    

    Was aber ebenfalls nicht kompiliert.


  • Mod

    template <class> class Coreset = PointContainer::template Coreset
    

    ?



  • danke!


Anmelden zum Antworten