template <class Type>
class Punct {
protected:
Type _x; // (1)
Type _y; // (1)
public:
Punct(Type = 0, Type = 0); // (2)
~Punct();
inline Type getX() const { return _x; }
inline Type getY() const { return _y; }
inline void setX(Type x) { _x = x; }
inline void setY(Type y) { _y = y; }
inline void moveBy(int x, int y) { _x = x; _y = y; }
friend std::istream &operator>>(std::istream&ins, Punct<Type>& A);
friend std::ostream &operator<<(std::ostream&outs, const Punct<Type>& A);
};
Эти ошибки я получаю:поле имеет неполную тип
(1) - Полевая имеет незавершенный тип 'Тип'
(2) - Нет жизнеспособного преобразование междунар к типу (и некоторые добавить 3. Передача аргумента в параметр здесь)
Не могли бы вы рассказать мне, что я делаю неправильно?
Этот код не имеет смысла. «Тип» - это тип, а не переменная, поэтому вы не можете присвоить ему значение. Вы хотели добавить имя переменной в свой конструктор. Покажите нам определение 'Type'. –
@EdS: это не присвоение, это инициализация. –
@Teodora: это зависит от типа, с которым вы создаете экземпляр. ** показать код ** –