変数をウォッチ式で参照すると「変数にはスタックフレームが必要です」と出て代入されていない

[戻る]
ローラリアン 2009/11/23(月) 01:34:14
初めて質問させていただきます。
宜しくお願いします。

Visual Studio 2005でWin32コンソールアプリケーションの開発を行ってます。
main関数でクラスaをnewし、その際呼び出されるコンストラクタで変数を初期化していま
す。しかしどうも代入されていないみたいで、F10を押しながら一行ずつ進みなが実行し
てみると代入部がシュッと飛ばされてしまいます。飛ばされた直後に代入されるはずの変数
をウォッチ式で確認すると「変数にはスタックフレームが必要です」と表示されました。
スタックフレームについて調べましたが、どう対処すればいいかは分かりませんでした;;

対処法についてご存じの方いらっしゃいましたら、よろしくお願いします。

ソース
main(){
...
 int b = 3;
 int c = 4;
 a *dat = new a (b, c,...//計引数6個);
...
}


class a{
public:

    int bb;
    int cc;

        ...計変数15個

public:
    //    コンストラクタ
    Draw_Info_Calendar( int bbb ,int ccc ...//計引数6個){

       bb = bbb;
           cc = ccc;
           //↑↑代入が飛ばされます ウォッチ式「エラー:変数にはスタックフレームが必
要です」
           
           ...
        }
}

こんな感じで作ってます。
宜しくお願いします。

επιστημη [E-Mail] [HomePage] 2009/11/23(月) 01:42:13
> main関数でクラスaをnewし、その際呼び出されるコンストラクタで変数を初期化して
いま
> す。しかしどうも代入されていないみたいで

代入されていないのをどうやって確認しましたか?

void print() const {
  メンバ変数を全部書いてみる
}

なんてなメソッドでも追加してはいかがでしょ。

ローラリアン 2009/11/23(月) 03:02:11
επιστημηさん、返信ありがとうございます。

ご指摘いただいたようにウォッチ式ではなく、print出力してみたら代入されておりまし
た。エラーも別の所であることが分かりました。

お手数おかけして申し訳ありません。有り難うございました!!

ローラリアン 2009/11/23(月) 03:02:46
[[解決]]
解決チェック忘れてました。

古いスレッドには追加発言できません。