• ベストアンサー

メンバー関数の追加に制限あり?

vc++ MFC SDI で開発している初心者です。 ClassViewウィンドウで「Cプロジェクト名View」 を右クリックし、メンバー関数の追加で、 関数の型をvoid、アクセス制御をprivate として関数を幾つか作成していったのですが、 51番目以降に作成した関数をClassViewウィンドウで ダブルクリックすると 「この定義(インプリメンテーション)が見つかりません。」 というメッセージが表示されます。 メンバー関数の追加には数の制限があるのでしょうか? どこかのパラメータを変えることでメッセージが表示されなくなるのでしょうか? ご存知の方がいらっしゃいましたら 教えていただきたいのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

一つのクラスの中で宣言できるメンバ数に関しては、4096個という処理系限界があります。ただし、これは最低限保証される個数なので、普通はメモリおよびソースコードの行数等が許す限り宣言可能だと思います。 ただ、(バージョンはわかりませんが)Visual C++は標準C++に完全準拠でしているわけではないので、こうした保証がないのかもしれませんし、もしかするとツールの限界なのかもしれません。または、(勘違い等)全く別の可能性も考えられます。 詳細についてはベンダーに問い合わせた方が確実です。

madamadahiyoko
質問者

お礼

お礼が遅くなってしまい申し訳ありません。連休後に再びメンバ関数をダブルクリックしたところ、正常にカーソルが移動しました。 何らかの原因でプログラムを管理しているところが書き換わらなかったのでしょうか?原因は不明ですが、今は問題なく動きます。 大変分かりやすい説明で本当に助かりました。 わざわざ回答していただきありがとうございました。

その他の回答 (1)

noname#11920
noname#11920
回答No.2

VC++であっても、恐らくコンパイラは標準のC++の規格に沿っているはずです。 ですから、コンパイルは出来るはずです。 問題はVC++のIDEが(標準よりも小さい)上限を持っている可能性は十分にあります。 下手にツールに頼るより、自分でコードを弄る方が賢明だと思います。 単純に「検索」すれば良いわけですから。

madamadahiyoko
質問者

お礼

お礼が遅くなってしまい申し訳ありません。連休後に再びメンバ関数をダブルクリックしたところ、正常にカーソルが移動しました。 何らかの原因でプログラムを管理しているところが書き換わらなかったのでしょうか?原因は不明ですが、今は問題なく動きます。 わざわざ回答していただきありがとうございました。