1 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 23:26:08 ] エスケープシーケンスやWin32APIなどの環境依存な物でもOK。 ただしその場合、質問者は必ず、環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.40【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1184717430/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
558 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 12:36:13 ] わかった! for(i=0;buff[i] != 0;i++) ってすると動くぞ!
559 名前:デフォルトの名無しさん [2007/08/22(水) 12:49:13 ] Containerというクラス名をAAというクラス名にしたら、 Container.h:9: an anonymous union cannot have function members Container.h:26: abstract declarator `<無名 class>' used as declaration Container.h:26: anonumous 名前空間の集合体は static でなければなりません
560 名前:デフォルトの名無しさん [2007/08/22(水) 12:50:45 ] >>559 すいません、間違えて「書き込む」ボタン押してしまいました。 Containerというクラス名をAAというクラス名にしたら、 AA.h:9: an anonymous union cannot have function members AA.h:26: abstract declarator `<無名 class>' used as declaration AA.h:26: anonumous 名前空間の集合体は static でなければなりません というエラーが出てきたのですが、このエラーの意味が理解できません。 教えてください。
561 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 13:12:06 ] エスパー募集するんでもなければコード貼れよ。
562 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 13:16:23 ] >>560 最初のエラーだけとってみれば 無名共用体には関数メンバを持つことができない というエラー。 だから名前だけじゃなくて何か意味または構造が変わるような修正をしてると 思うけど、情報が不足してるのでこれ以上のことは分からない。
563 名前:デフォルトの名無しさん [2007/08/22(水) 13:42:53 ] >>559 です。 自己解決しました。 ContainerからAAに名前を変えたときに、 #ifndef CONTAINER #define CONTAINER #include "Container.h" #endif も #ifndef AA #define AA #include "AA.h" #endif としていたためにエラーが出ていました。 情報の足りない質問で申し訳ありませんでした。m(_ _)m
564 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 13:51:53 ] >>563 まあ、解決したのはよかったけど、 そもそものソースの構造がおかしいんじゃないのか? 普通は Container.h の中で全体を Container.h ----------------- #ifndef CONTAINER #define CONTAINER 〜 #endif ----------------- としてくくるんであって、includeする側では、二重取り込み防止マクロなんて書かないだろ。
565 名前:でいびす [2007/08/22(水) 16:08:55 ] VC++5.0でファイルリードをやってます。 その時、読込んだ値を文字として認識できるか 調べたいのですが、やり方を教えてもらえませんか? ループしながら、1文字づつ調べたいです。 ちなみに、文字列には半角の日本語と全角の日本語が混在しています。 お願いします。
566 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 16:23:15 ] 文字として認識ってのがあいまいだけど _ismbbprint あたり使えるか調べて見れ
567 名前:でいびす [2007/08/22(水) 16:51:43 ] >>566 _ismbbprintは使えませんでした。 ビルドが通らなかったです。
568 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 16:55:13 ] ttp://msdn2.microsoft.com/ja-jp/library/6d27cy2z(VS.80).aspx
569 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 16:59:27 ] なんだってVC++5.0なんてもんを使ってるんだ
570 名前:でいびす [2007/08/22(水) 17:04:29 ] >>569 古いプログラムをカスタマイズする事になったので使ってます。
571 名前:でいびす mailto:sage [2007/08/22(水) 17:11:52 ] >>570 古いプログラムをカスタマイズする事になっても使う必要ありません。
572 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 17:23:18 ] いやー、そうとも限らんぞー
573 名前:でいびす mailto:sage [2007/08/22(水) 17:24:06 ] >>570 いやー、そうとも限らんぞー
574 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 17:25:49 ] VC++5.0ってSTLがはじめてバンドルされた版だよな 無理やり使ったが、今にして思えばひでえ出来だった
575 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 19:20:05 ] new が失敗した時に NULL を返すことを前提にプログラムしてたりするんだろうなあ。
576 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 19:22:18 ] new が失敗した時に NULL を返すことを前提にプログラムしてたりしてます。
577 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 19:42:58 ] new(nothrow)使えば問題なし
578 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 19:45:10 ] newハンドラ使えば問題なし
579 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 20:49:37 ] set_new_handler じゃなくて _set_new_handler で、 new ヘッダじゃなくて eh.h で宣言されてたんだっけ。 bad_alloc は VC5 で宣言されてたっけ?
580 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:01:23 ] >>565 VCだと昔から日本語対応の関数はあって、どこかのバージョンで _ismbXXXX のようなマルチバイト系関数であることを明示するような 関数名になったはず。 それがVC++5.0かどうか知らないが、でもだから対応する関数はあるはず。 で、ぐぐると以下のサイトに適度に古そうな関数名がならんでいるので 試してはどうだろうか。 ttp://www.geocities.co.jp/SiliconValley-Bay/7437/c/is.htm
581 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:08:46 ] UTF-8だったりEUC-JPだったりISO-2022-JPだったりする可能性は? というのは余計なお世話か。
582 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:12:02 ] 文字コードについては>>565 が勝手に判断するでしょ。 だいたいVC++5.0の時代のアプリにShift_JIS以外使ってるとも思えないけど。
583 名前:でいびす mailto:sage [2007/08/22(水) 21:14:17 ] VC9使うことにしますた
584 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:09:24 ] VC++はソースのエンコードすら指定できない糞コンパイラ
585 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:13:51 ] >>584 はVC++はソースのエンコードすら指定できないコンパイラと思っている糞
586 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:20:15 ] できるの? clにそれらしいオプションが見当たらないからできんのかと思ってた
587 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:24:34 ] >>585 どうやって指定するの?
588 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:31:21 ] >>585 おれもきになる
589 名前:デフォルトの名無しさん [2007/08/22(水) 22:40:08 ] std::vector<foo> hoge という変数があるとして、 これを関数の引数に渡すときはhogeのポインタを渡した方が hoge自体を値渡しするより動作は速いですか?
590 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:41:32 ] その通りだが、せっかくC++なのだからリファレンス渡しするか iteratorを渡せ
591 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:43:22 ] 何すかそれ
592 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:45:33 ] void hogehoge(std::vector<foo>& rhoge);
593 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:48:03 ] >>591 void swap_ptr(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } void swap_ref(int &a, int &b) { int tmp = a; a = b; b = tmp; } main() { int m = 1, n = 2; swap_ptr(&m, &n); swap_ref(m, n); } swap_ref()がリファレンス渡し。 この場合は入出力引数だが、入力だけでいいんならconstつけろ。
594 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:50:19 ] >>590 サンクスコ
595 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 22:55:22 ] >>593 サンクスコ
596 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:12:21 ] ドトネトのMicrosoft.VisualC.CppCodeProviderってもしかしてclのかわりに C++コンパイルできんのか マネージドじゃないと無理かな
597 名前:デフォルトの名無しさん [2007/08/22(水) 23:37:33 ] vector<CHoge>::iterator itr; このitrが指してる要素の中身のアドレスを取りたいときは どうやって書けばいいんですか? CHoge* p_hoge; p_hoge = &itr; とか書いたら怒られました。
598 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:40:54 ] p_hoge = &*itr;
599 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:42:12 ] CHoge* p_hoge = &*p_hoge; vectorなら鼻からbegin()/end()を使わず、 &v[0]と&v[0] + v.size()でポインタを得て、 それをイテレータとしても使うという手もある。
600 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 23:42:39 ] >>598 出来ました。サンクスコ
601 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:12:40 ] 鼻から悪魔に見えた
602 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:13:32 ] >>584 エンコードの指定は出来ないが、 BOMが付いてればUnicode LE/BEやUTF-8はそれで判定する。 BOMがなければANSI文字コードとみなしている。 javacやunix系のコンパイラはUTF-8にBOMが付いてると処理してくれないものが多く、 双方で利用しようとすると結構めんどい。
603 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:13:53 ] 悪魔から鼻に見えた
604 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:49:46 ] >>577 そんなことしてもコンストラクタから飛んでくる例外は止まらないぜ。
605 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 01:50:20 ] なんかかっこいい
606 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 11:14:46 ] >>602 それなりに移植性考えたらC++のソースにBOMつけるとかありえんわな で、当然boostのソースにはそんなもんついてないし、一部のヘッダにLatin-1な 人名が入ってるから、VC++8.0でコンパイルすると色々苦情を言ってくんのな
607 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:47:56 ] C++でHTMLのタグのようなものを使用していたり、『::』のようなものなどを見かけます。 Cには無く、C++では使用出来るようなことを幅広く説明している書籍でお勧めのものはありますでしょうか。 発売年や価格、本自体の厚さなど数多くありすぎて、どういうものを購入すればいいのか分かりません。 近くに本屋さんはあるのですがプログラム関係は少ないですのでネット通販で買おうかと考えております。 それ故、内容が確認できず判断が・・orz
608 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:50:21 ] HTMLのタグ・・・確かにそう見えんことはないw
609 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:58:28 ] なんだそりゃ、templateのことか? あまりに斬新過ぎる見解でワロタ それはそうと、wxWidgetsのWindowProcって、ウィンドウクラスのインスタンス 見つけるのにわざわざグローバルなハッシュテーブル引いてんだな、なんだこりゃ せめてWin32ならGetWindowLongPtr()使ってくれよ なんかそうできない技術的理由があんのか ATLみたいなサンクに書き換えたら、そんだけで激高速化すんじゃね?
610 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 23:15:45 ] >>607 結局この本は必要…通読する対象ではない気がする、字引的にほぼ全部載ってる www.amazon.co.jp/dp/475611895X
611 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:31:15 ] そんなに高速化するわけない。 いったい一秒に何回メッセージが来て、 グローバルハッシュを引くのに何ナノ秒 余分にかかるというんだ?
612 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:37:41 ] 一秒に何回メッセージが来て、 グローバルハッシュを引くのに何ナノ秒 余分にかかる
613 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:38:15 ] 俺も初めて見たときはタグかと思った。 includeファイルに.hが付いていないことや、標準入出力に<<、>>を使うこと、 「::」の存在など何もかもが新鮮だったあの頃・・・ いまだに初心者の域を抜けられぬ現状orz
614 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:40:43 ] ::は斬新だった。こうゆう記号ってなんか意味を持って決められてるのかな?
615 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 00:43:25 ] 意味的に : を使いたいけど、ラベルと被るから :: にしたんじゃね?
616 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 01:44:24 ] 斬新といえばいえなくもないが、: (コロン)は、通常のラベルどころか ・caseのラベル(厳密にいえば通常のラベルと変わらない) ・クラス継承 ・コンストラクタの初期化子(?) ・条件演算子の一部 など、よくこれだけ機能を持たせられたと思うものだ。 さらに、ストリームにビットシフト演算子を使うなんて、どこのアホが考えたかと思う。 演算子オーバーロードを見せつけるための演出としか思われない。 さらに、マニピュレータだって?printf系の方がよっぽどうまく素早く整形できるわ。 あんなのC++委員会の遊びにすぎんよ。 もっとも、Cよりは便利なので使わせていただいていますけどね。
617 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:07:29 ] べ、別に好きでC++を使っているんじゃないんだからね! Cより便利だから使ってあげているだけなんだからねっ!
618 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:11:22 ] おっさんが書いてるんだぜ?きめぇ
619 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:11:29 ] >>616 iostreamとマニピュレータの登場は、標準化委員会の発足より古いはず。 D&Eによれば入出力に演算子を使うのはDoug McIlroy、 マニピュレータはAndrew Koenigのアイデアだそう。
620 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 04:31:27 ] printf より優れてる点は型安全な点とポリモーフィズムだな。 printf 風マニピュレータを作らなかったのは C++ の汚点だな。
621 名前:デフォルトの名無しさん [2007/08/25(土) 06:21:38 ] なんで queue には clear() が無いの?
622 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 10:13:32 ] ああ、すまん 作るの忘れてた
623 名前:デフォルトの名無しさん mailto: sage [2007/08/25(土) 10:32:35 ] 納得した
624 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 10:37:06 ] 何のqueueにclearが無いの?
625 名前:デフォルトの名無しさん [2007/08/25(土) 11:05:14 ] 参照渡しでもらった引数をさらに別の関数に参照渡しするのって なにか問題ありますか?
626 名前:デフォルトの名無しさん mailto: sage [2007/08/25(土) 11:09:57 ] G++ の STL の queue, priority_queue, stack. コンテナアダプタには clear() が用意されて無いけど何か理由があるんでしょうか.
627 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 11:55:33 ] G++wwwwwwなんという未来言語wwwwww
628 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:00:58 ] 無知発見
629 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:13:16 ] 自己解決しました.
630 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:15:02 ] >>627 これはひどいwwwwwww
631 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 12:27:56 ] >>627 =630 そんなエサで俺様が釣られるかクマー
632 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 13:55:48 ] >>625 別に問題ない。 寧ろ、参照渡しでもらったものをポインタ渡しするほうがおかしいし、 参照渡しでもらったものを値渡ししてしまったら意味が違ってしまう。
633 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 15:43:54 ] 何でないんだろうね。 プリンタジョブとかに queue を使ったとして、 ジョブを全部破棄とかすることあるだろうに。
634 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 16:01:42 ] 1億と2000年前からpopしなさい、というお達しか
635 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 16:12:47 ] while(!q.empty()) { q.pop(); } としろ、ということか。
636 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:14:26 ] そうだdequeをつかおう
637 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:16:04 ] q.~queue(); new(&q) std::queue<T>; 冗談だよ、冗談。
638 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:24:21 ] 素直にq=std::queue<int>();と書いてやれよw
639 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:40:57 ] queue のソースを書き換えればいいんじゃね?
640 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 17:47:21 ] queue を継承した my_queue を(ry
641 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 18:26:24 ] (x = 1) = 2; これ、Cだとエラーなんだが、C++ではコンパイルできる 何で?
642 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:11:39 ] x = 1の結果が、Cは右辺値、C++は左辺値と定められているから。
643 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:19:25 ] >>642 やっぱりそういうこと? ストラウストラップの本とK&RとCの規格書調べたんだけど、それらしい記述を 見つけられなかったんだけど、どこかに明記されている?
644 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:26:25 ] =演算子が参照を返すからじゃね?
645 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:51:03 ] >>643 642じゃないけど C言語はJIS X 3010の.5.16代入演算子 代入式は、代入後の左オペランドの値を持つが、左辺値ではない。 C++は手元にあるのが15年前のARM日本語版しかないけど、5.17代入演算子 代入演算子の結果は、代入が行われた後に左のオペランドに格納してある値である。従って、結果も左辺値である。 Cの規格書って何を調べたの?
646 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:54:07 ] >>644 >>642
647 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:58:03 ] >>645 脳内
648 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 20:23:22 ] X3014にも5.17 1節目の最後に「結果は,左辺値とする。」と書いてある。 >>644 型と右辺値左辺値は別の段階の話。
649 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 20:33:34 ] 三項演算子で変数返すコード書いて左辺値にしても大丈夫
650 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:36:12 ] たくさんのレスthx >>645 同じ規格書の同じとこ読んだんだけど、 代入式: 条件式 単項式 代入演算子 代入式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ってなってたから、代入式ってのは上の3行目(波線部分)の代入式 のことを言ってるのかと勘違いしてた 単項式 代入演算子 代入式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ これ全体を代入式と言ってるのか とすれば x = 1 という代入式の結果は左辺値ではないということに なるか 代入式は、代入後の左オペランドの値を持つが、左辺値ではない と書いてあるけど、代入式の結果は と書いてくれたほうがクリアになるなあ ~~~~~~~~~~~~~~~~~ BNF記法が分かってなかった >>648 なるほど C++のほうはEffectiveにも参照を返すと書いてあるから 理解できた C++の規格書も買うかな
651 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:42:13 ] 禿の本がまだなら規格書よりそっちを先に読んだ方がいいよ
652 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:46:24 ] >>650 知ってるかもしれないが、JISの規格書なら以下で参照できる。 日本工業標準調査会 ttp://www.jisc.go.jp/index.html C JISX3010 C++ JISX3014 検索できないのは最悪だけど。
653 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:49:36 ] >>651 調べ物するときは同じ内容について 色々な本に目を通してるんだけど、 結局、規格書に明記されてると確信に変わる んで安心できる 禿の本ってEffectiveのこと? 結構高度だから必要に応じて関連する項目を 潰していこうと思ってる
654 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:52:34 ] >>652 最初、Cの規格書もそこを見てたんだけど 検索できなくて疲れるから買ってしまった
655 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:59:44 ] 禿本 : Bjarne Stroustrup著 プログラミング言語C++
656 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 23:52:51 ] >>650 代入式の結果が左辺値か右辺値かは、構文から 決定できる問題ではないので、構文を記した部分は関係ないぞ。
657 名前:デフォルトの名無しさん [2007/08/26(日) 03:47:09 ] class Hoge{private:vector<CFoo> m_vecFoo;}; Hoge::Hoge(){ //落ちる場合1 CFoo foo = CFoo(age,sage); m_vecFoo.push_back(foo); //落ちる場合2 CFoo foo; foo = CFoo(age,sage); m_vecFoo.push_back(foo); //落ちない場合 CFoo* foo = new CFoo(age,sage); m_vecFoo.push_back(*foo) } あるクラスCFooについて、newでインスタンスを生成した場合は落ちないんですが、 newを使わないで直接生成した場合(そういうのをなんていうのか知りませんが) push_backの行で落ちてしまいます。一応どの場合もコンパイルは通ってます。 原因がまったく分からないのでエスパーしてください^^;お願いします。 デバッグ結果:xutilityファイル内↓ inline void __CLR_OR_THIS_CALL _Container_base::_Orphan_all() const { // orphan all iterators _Lockit _Lock(_LOCK_DEBUG); if (_Myfirstiter != _IGNORE_MYITERLIST) { for (_Iterator_base **_Pnext = (_Iterator_base **)&_Myfirstiter; *_Pnext != 0; *_Pnext = (*_Pnext)->_Mynextiter) (*_Pnext)->_Mycont = 0; ←この辺でとまってる模様 *(_Iterator_base **)&_Myfirstiter = 0; }
658 名前:657 mailto:sage [2007/08/26(日) 03:53:14 ] //さらにもう一個、落ちる場合 CFoo foo(age,sage); m_vecFoo.push_back(foo); ちなみに、push_backをコメントアウトして飛ばせば一応落ちないで動いてるようなので 落ちているのはpush_backの行みたいです。