しばらくデバッグしていると、一部のデータ メンバーが期待どおりに初期化されていないことがわかりました。ここにいくつかの画像を置いたので、どのように初期化したかがわかります。
次に、ブレークポイントを使用してデバッグ中にいくつかのコードを実行した後、まったく初期化されていないかのように値が変化することに気付きました。
data members
コンストラクターの本体のみの値を変更することはありません。私もこれをやろうとします。
rect.radius_top_right = 1;
rect.radius_top_left = 1;
rect.radius_bottom_right = 1;
rect.radius_bottom_left = 1;
この時点で値は変化しますが、必要になる関数に到達すると、再びガベージ値に戻ります。
ここで何が問題なのか指摘できますか?
編集:
class swcRectangle
このように、グローバル スコープ (外部main
関数)でインスタンス化します。
swcRectangle rect;
このバグはswcRectangle::draw()
通話中に発生します。