【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※マルチポスト(多重投稿)は謹んで!

 詳しくはこちら



 本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール   掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.18545

仮想関数の作成について
投稿者---シン(2004/12/07 12:43:17)


はじめまして、よろしくお願いします。
開発環境
VC.net2003
C++

クラスの内部に仮想関数を作成しているのですが、一定以上(20〜30)の数の仮想関数を作成して実行するとエラーが発生します(コンパイルエラーではない)。ちなみに仮想関数を使用しなくても定義するだけでエラーが発生します。
仮想関数がprotectedで作成されていたのでpublicに変更するとエラーが発生しなくなりました。仮想関数をprotectedで制限なく作成できるようにするにはどうすればいいのでしょうか?仮想関数はpublicでしか使ってはいけないのでしょうか?知っている方がおられましたら教えていただけないでしょうか。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:仮想関数の作成について 18546 monkey 2004/12/07 13:00:06
<子記事> Re:仮想関数の作成について 18547 επιστημη 2004/12/07 13:31:43
<子記事> Re:仮想関数の作成について 18567 シン 2004/12/08 08:20:12


No.18546

Re:仮想関数の作成について
投稿者---monkey(2004/12/07 13:00:06)


>クラスの内部に仮想関数を作成しているのですが、
>一定以上(20〜30)の数の仮想関数を作成して実行するとエラーが発生します(コンパイルエラーではない)。
>ちなみに仮想関数を使用しなくても定義するだけでエラーが発生します。

そのエラーが再現される最低限のコードを掲載してください。


この投稿にコメントする

削除パスワード

No.18547

Re:仮想関数の作成について
投稿者---επιστημη(2004/12/07 13:31:43)


>クラスの内部に仮想関数を作成しているのですが、一定以上(20〜30)の数の仮想関数を作成して実行するとエラーが発生します(コンパイルエラーではない)。

じゃ、何のエラーですか? コンパイル時のエラー? リンク時のエラー? 実行時のエラー? 他の何か?

>仮想関数がprotectedで作成されていたのでpublicに変更するとエラーが発生しなくなりました。

言語仕様としては、そんな制限はありません。




この投稿にコメントする

削除パスワード

No.18567

Re:仮想関数の作成について
投稿者---シン(2004/12/08 08:20:12)


お返事ありがとうございます。
コードに関しては、貼り付けようと思ったのですが、実際のコードはあまりにも長すぎるため貼り付けられませんでした。そこで、同じような動作を行うサンプルのようなものを作成しようと思ったのですが、protectedで仮想関数をいくつ作ってもエラーが発生しませんでした。仕様にはそのようなエラーはないということなので、もう少しエラーが発生する状況を特定して、なおかつ自分では解決できなかったときにもう一度投稿させていただきます。どうもありがとうございました。


この投稿にコメントする

削除パスワード

No.18606

Re:仮想関数の作成について
投稿者---RAPT(2004/12/09 01:38:41)


単にスーパークラスに純粋仮想関数を書いて、サブクラスでインプリメント
し忘れていた、ってオチじゃないですよね?


この投稿にコメントする

削除パスワード

No.18608

Re:仮想関数の作成について
投稿者---シン(2004/12/09 08:11:15)


お返事ありがとうございます。
純粋仮想関数ではないので、おそらくその線ではないと
感じました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧