フロートラッパーを作成しようとしています(コンストラクタ内でいくつかの魔法のこともします)。オペレータキャスティングの参照での値が正しくない
しかし、私は非常に奇妙なエラーで自分自身を見つける。
class Foo {
public:
Wrapper();
operator const float&() const { return m_bar; }
operator float&() { return m_bar; }
const float& Get() const { return m_bar; }
float& Get(){ return m_bar; }
private:
float m_bar;
};
私がゲット()を使用する場合、私は、正しい値を取得するが、私はちょうどキャスト演算子を使用している場合、私はランダムな値を取得します。
メンバーへの参照をキャストできませんか?
これは明らかですが、どのように使用しますか?関連するすべての一時的なものは? –
float bar =(float)foo;あなたのクラスを使用して私のためにうまくいく(私はm_barをpublicにしてそれを設定できるようにした) – SinistraD
Foo bar = 5; Add2dText(SomePos、白、 "Bar:%f"、bar); –