Nightmare1
@Nightmare1
Программист

Почему тут ошибка?

Machinarium/Classes/Geometry/Primitives/Axis.cpp:4:46: error: call of overloaded ‘Point2D()’ is ambiguous
    4 | template<typename T> Axis<T>::Axis(T rotation)
      |                                              ^


#include "Axis.hpp"


template<typename T> Axis<T>::Axis(T rotation)

{
  set_rotation(rotation);
  //__position.set_x(position.get_x());
  //__position.set_y(position.get_y());
}



#pragma once
#ifndef __AXIS__HPP_
#define __AXIS__HPP_

#include "../../../Interfaces/IShape.h"

#include "Point.hpp"

/**
 * @brief Класс описывающий точку вращения объекта.
 * 
 * @tparam T 
 */
template<typename T> class Axis : public IShape<T>
{

  Point2D<T> position;

  //ParameterGetSetTypedClassVariable(Point2D<T>, position);
  ParameterGetSetTyped(T, rotation, 0);

  public:
    Axis(T rotation);

    inline virtual std::string getShapeName();
    virtual void draw()  const;
    virtual inline T perimeter();
    virtual inline T area();
};



#endif // __AXIS__HPP_


?
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
call of overloaded ‘Point2D()’ is ambiguous

Потому что, похоже, у Point2D<T> больше одного конструктора по умолчанию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы