Я пытаюсь реализовать программное обеспечение визуализации, которое интерполяция происходит после того, как вершины затененияКак реализовать интерполируемые интерфейс в C++
Ниже его декларация
template <class T>
class Interpolatable
{
// The function calculates an interpolated value
// along the fraction t between 0.0 and 1.0.
// When t = 1.0, endValue is returned.
virtual T interpolate(const T &endValue, float t)=0;
};
struct Vertex: public Interpolatable<?????????>
{
float x, y, z;
Vertex()=default;
Vertex(float, float, float);
virtual Vertex &interpolate(const Vertex &endValue, float t) const;
};
Можно ли сделать интерполировать возвращение метод Vertex в экземпляр Vertex? Компилятор продолжает давать мне ошибки
STRUCT Vertex: общественный интерполируемые Хотите использовать CRTP? –
'struct Vertex: интерполяционный' должен работать. Обратите внимание, что вам нужно вернуть 'Vertex', ** not **' Vertex & ' –
BoBTFish
Кажется, вы пропустили' T const & beginValue', чтобы вернуться для случая 't == 0'. – MSalters