Мне было интересно, можно ли сделать мои
class Time
{
public:
Time();
explicit
Time(
const double& d);
Time&
operator=(
const Time& time);
Time&
operator=(
const double& d);
};
назначаемыми примитиву double?
Я использую Time как IV много и мне нужно многоскалярные операции над ним, поэтому он должен «смешиваться» с DV, которые обычно являются обычными двойными числами.Добавление второго оператора присваивания сделало трюк с точностью до наоборот.
Однако многие операции все еще невозможны с этим.Я писал операторы вне класса Time, чтобы допускать сложение, вычитание, умножение и деление между Time и double.Но так как операторы присваивания не разрешены вне класса, я не могу преодолеть эту последнюю ошибку:
Error 1 error C2440: 'initializing' : cannot convert from 'double' to 'Time' linearfit.cpp 67
Кто-нибудь имел опыт работы с этим?
Спасибо!