それは原始的な二重に割り当て私のプリミティブに割り当てることができるクラスを作成するにはどうすればよいですか?スカラークラスを作るにはどうすればいいですか?
class Time
{
public:
Time();
explicit
Time(
const double& d);
Time&
operator=(
const Time& time);
Time&
operator=(
const double& d);
};
を作ることが可能だ場合、私は不思議でしたか?
私はTimeをIVとして多く使用しており、多くのスカラー演算を行う必要があるため、通常は通常の倍精度のDVと「混合」する必要があります。 2番目の代入演算子を追加すると、別の方法でそのトリックが実行されました。
多くの操作はこれでもできません。私はTimeクラス以外の演算子を作成して、TimeとDoubleの間の加算、減算、乗算、および除算を可能にしています。
Error 1 error C2440: 'initializing' : cannot convert from 'double' to 'Time' linearfit.cpp 67
は、誰もがこれでの経験を持っている:代入演算子はクラスの外に許可されていませんので、しかし、私はこの最後のエラーを克服することができないんですか?
ありがとうございます!
あなたにエラーを与える何のコード? – interjay
あなたの問題は 'Time t = 912.0;のような行にあると思います。コンストラクタ' Time(const double&) 'から' explicit'を削除して、 'double'から' Time '。 –
ああ、申し訳ありませんが私は明確でない場合。時間t = 912.0は完璧に機能します。もう一つの方法は、私が探していたものでした。どうも! – Rene