【初心者歓迎】C/C++室 Ver.40【環境依存OK】
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
800:デフォルトの名無しさん 07/08/03 23:59:41 >>796 Base **b = new Base*[10]; はいけましたが Base **b = new Dev*[10]; はダメみたいです 801:デフォルトの名無しさん 07/08/04 00:12:01 ポインタの配列調べてきました、こんなんでいいんですか? malloc久しぶりに使いますた Base **b = (Base**)malloc(10 * sizeof(Dev*)); for( int i = 0; i < 10; ++i ){ b[i] = (Dev*)malloc(10 * sizeof(Dev)); b[i].Test(); } 802:デフォルトの名無しさん 07/08/04 00:13:52 >>801 Base やら Dev やらは構造体なの? 803:デフォルトの名無しさん 07/08/04 00:14:46 >>802 >>787のやつです 804:デフォルトの名無しさん 07/08/04 00:16:00 mallocじゃコンストラクタが走らないだろう・・ Devを指すBase*の配列を作ればいいと思うよ、多分 805:デフォルトの名無しさん 07/08/04 00:27:19 こうか? typedef Base* PBase; std::size_t n = 10; PBase** b = new PBase[n]; for (std::size_t i = 0; i < n; ++i) { b[i] = new Dev; b[i]->Test(); } いい加減boost::ptr_vector使えとか言いたい。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5007日前に更新/239 KB
担当:undef