初めて質問させていただきます。
宜しくお願いします。
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;
//↑↑代入が飛ばされます ウォッチ式「エラー:変数にはスタックフレームが必
要です」
...
}
}
こんな感じで作ってます。
宜しくお願いします。
> main関数でクラスaをnewし、その際呼び出されるコンストラクタで変数を初期化して
いま
> す。しかしどうも代入されていないみたいで
代入されていないのをどうやって確認しましたか?
void print() const {
メンバ変数を全部書いてみる
}
なんてなメソッドでも追加してはいかがでしょ。
επιστημηさん、返信ありがとうございます。
ご指摘いただいたようにウォッチ式ではなく、print出力してみたら代入されておりまし
た。エラーも別の所であることが分かりました。
お手数おかけして申し訳ありません。有り難うございました!!
解決チェック忘れてました。