У меня есть этот кусок кода для класса (это фрагмент):Преобразование между 2 шаблона типа
template<typename T>
class Pos2 {
public:
T x, y;
Pos2() : x(0), y(0) {};
Pos2(T xy) : x(xy), y(xy) {};
Pos2(T x, T y) : x(x), y(y) {};
};
Теперь, я также получил 2 определений типов для него:
typedef Pos2<pos_scalar> Pos;
typedef Pos2<size_scalar> Size;
Все работает, как ожидалось, но когда я делаю это:
Pos p(5.5, 6.5);
Size s(3, 8);
p = s;
Я получаю эту ошибку:
error: conversion from ‘Size {aka Pos2<short int>}’ to non-scalar type ‘Pos’ requested
Это имеет смысл, но я хотел бы знать, как это исправить = P
Что такое 'Type2'? Вы имели в виду 'typename Type2'? – 0x499602D2