1 名前:デフォルトの名無しさん [2008/03/30(日) 01:50:26 ] エスケープシーケンスやWin32APIなどの環境依存なものでもOK。 ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124447/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
528 名前:522 [2008/04/09(水) 12:30:18 ] 申し訳ありません。もの凄く下らないミスでした。 if(result != System::Windows::Forms::DialogResult::Yes)){ かっこが一つ多かったです・・・スレ汚しすみませんでした。 >>527 うう、本まで買って気合い入れてしまったため再スタートは辛いです。 とりあえずこの道進んで、あとから徐々に方向転換してみます。 ありがとうございました。
529 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:33:15 ] >>528 C++/CLIなら↓の方で聞いた方がいいよ C++/CLI part3 pc11.2ch.net/test/read.cgi/tech/1206447234/
530 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:29:32 ] >>528 甘いな。俺は最初どの本買ったらいいかわかんなくて結局3冊目まで買ったぞ
531 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:36:05 ] MFCってまだ使われてるのか?
532 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:44:23 ] >>531 きみのPCのMFC関連のDLL等を全て削除して使用してみればきみの環境での依存度が分かる
533 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:46:40 ] >>532 滑ってるよ
534 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:52:50 ] マジレス
535 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:07:16 ] MFC関連のDLL、スタティックリンクするから無くても動いちゃうよ (俺のアプリは)
536 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:14:37 ] CString m_combo = "notepad.exe"; WinExec((LPCSTR)(LPCTSTR)m_combo,SW_SHOW); これアプリが起動しないんですけどなんでですか
537 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:23:00 ] LPCTSTRをLPCSTRに変換しているのが限り無く怪しい。 LPCTSTRを引数に取るShellExecuteか何かを使え。
538 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:30:01 ] WinExecが好きなんですけど変換は不可能ですか?
539 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:33:34 ] なら(LPCSTR)(CStringA)m_comboでどうだ。 あと、引数の少なさなら<tchar.h>の_tsystemがいいぞ。
540 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:35:33 ] っていうかWinExecはdeprecatedな扱いのAPIのような気がする。
541 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:37:24 ] struct hoge_a{ int a; int b; }; struct hoge_b : public a{ int c; int d; }; としたとき、hoge_aのメンバのメモリ上の並び順はabとなるのは保証(規定)されていると どこかで見た記憶があるのですが、hoge_bの場合、abcdとなることは保証されるのでしょうか?
542 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:54:09 ] >>539 動いたwお前すごいわ どこにも乗ってなかったぞこんなの
543 名前:デフォルトの名無しさん [2008/04/09(水) 18:27:43 ] srandのseedが同じ場合、マシンやOSが変わっても同じ乱数を発生させることができるのでしょうか?
544 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 18:32:25 ] >>543 No
545 名前:デフォルトの名無しさん [2008/04/09(水) 18:42:27 ] そうすると何に依存するのでしょうか? コンパイラですか?それともOSですか? AMDとintelのようにCPUが変わっただけでもダメですか?
546 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 18:44:58 ] libcの実装次第? 時間と空間を使えばかなりランダムになりそうだけどなぁ。
547 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 19:10:37 ] >>543 移植性を考えるなら同じ種で同じ乱数列の出力を保証するにはライブラリに頼らず乱数発生器も実装してしまう
548 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 19:46:10 ] C++について質問なのですが、 オブジェクトを作らずにメンバ関数を呼び出すことは可能でしょうか。
549 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 19:49:19 ] 静的メンバ関数なら。
550 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 19:54:24 ] >>548 できる。 struct a{ void f(){} }; reinterpret_cast<a*>(NULL)->f();
551 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:06:20 ] なるほど。勉強になりました。 レスありがとうございました。 #include <stdio.h> class A { public: static A* make_obj(void); void my_puts(void){ puts("Hello\n"); } }; A* A::make_obj(void){ A* a = new A; return a; } int main() { A* a = A::make_obj(); a->my_puts(); return 0; }
552 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:12:24 ] >>550 やめなさい
553 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 20:36:54 ] >>551 わかってると思うけど生ポではなくスマポに入れて返しとけよ
554 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:09:35 ] using namespace 〜; は取り消せますか?
555 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:16:28 ] 永遠に取り消す事が出来ない呪いです。 using は計画的に。
556 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:24:07 ] namespaceをusingすると、そのnamespace内のusingまで見えてしまうのには泣く。意味ねーじゃん
557 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:27:35 ] だからヘッダにusing書いちゃ駄目ってママ言ったでしょ
558 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:30:57 ] >>550 staticメンバ関数が無い時代の苦肉の策ですなあ。 ただ非静的メンバーは参照できない。
559 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:31:50 ] turboPascalのusing見たいな使い方したかったのに。
560 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:22:01 ] VC++ 2008 EE でWindowsアプリケーションを作成したいのですが、 そのまま<windows.h>をインクルードしてもエラー表示なので、 どのような設定が必要なんですか?
561 名前:デフォルトの名無しさん [2008/04/10(木) 00:24:06 ] >>548 なんのためのメンバ関数なんだか。
562 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:33:29 ] >>561 いや、他人の書いたコードを解読してるんだ。。
563 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:39:03 ] >>560 [ファイル]-[追加]-[新しいプロジェクト] [Visual C++]-[Win32]-[Win32プロジェクト]-[プロジェクト名]-[OK] [次へ]-[Windowsアプリケーション]-[■空のプロジェクト]-[完了] [ソースファイル]-[追加]-[新しい項目] [Visual C++]-[コード]-[C++ファイル]-[ファイル名]-[追加]
564 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 01:46:59 ] >>563 ありがとうございます。3行目まではうまく設定できたのですが、 4行目の「ソースファイル」?が何を指しているのかわからず、 そのまま5行目の作成を行いました。 結果はやはりビルドエラーです。 コードは以下です。 LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM); /* アプリケーションエントリーポイント */ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR CmdLine, int CmdShow) { //処理 return ; } /* ウインドウプロシージャ */ LRESULT CALLBACK WindowProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam) { //処理 } return DefWindowProc(hwnd,message,wparam,lparam); }
565 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 01:50:01 ] エラーの内容は?
566 名前:デフォルトの名無しさん [2008/04/10(木) 01:54:31 ] ファーストへの悪送球。
567 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 01:54:45 ] 1>------ ビルド開始: プロジェクト: C800, 構成: Debug Win32 ------ 1>コンパイルしています... 1>MJ_1.cpp 1>.\MJ_1.cpp(26) : error C2440: '=' : 'const char [6]' から 'LPCWSTR' に変換できません。 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>.\MJ_1.cpp(41) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'const char [6]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>C800.cpp 1>.\C800.cpp(28) : error C2440: '=' : 'const char [6]' から 'LPCWSTR' に変換できません。 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>.\C800.cpp(43) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'const char [6]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照) 1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。 1>コードを生成中... 1>ビルドログは "file://d:\My Documents\Visual Studio 2008\Projects\C800\C800\Debug\BuildLog.htm" に保存されました。 1>C800 - エラー 4、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== です。
568 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 02:02:15 ] >>567 なぜコンパイルエラーの部分を省略する。 ググればいろいろ見つかる。 www.google.co.jp/hws/search?hl=ja&q=LPCWSTR+char+c2440&client=fenrir&adsafe=off&safe=off&lr=lang_ja
569 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 02:21:14 ] >>568 ありがとうございます。 文字変換だったのですね。 しかしググっても出てこないので最後に嘆きます。 1>------ ビルド開始: プロジェクト: GAME, 構成: Debug Win32 ------ 1>マニフェストを埋め込んでいます... 1>.\Debug\GAME.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. U_U!$kLdK 1>~[ 1>ビルドログは "file://d:\My Documents\Visual Studio 2008\Projects\C800\GAME\Debug\BuildLog.htm" に保存されました。 1>GAME - エラー 1、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== なるエラーが出るのですが、まったく意味不明です。
570 名前:569 mailto:sage [2008/04/10(木) 18:46:06 ] 申し訳ないです。 自己解決しました。 ありがとうございます。
571 名前:デフォルトの名無しさん [2008/04/10(木) 21:45:49 ] VC++2005で、ADOでSQLSERVER2005に接続して、binary型のフィールドに 1000byte程のバイナリデータを保存したいのですが、 long型の配列にデータをmemcpyし、それをrs->Updateしようとすると、 コンパイルで「bool値に変換します」というような警告がでて、データを転送できません。 バイナリデータを転送するにはどのようにすればいいのでしょうか? (配列には正常にデータがコピーされていることはファイル出力で確認できております)
572 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 00:26:01 ] >>571 support.microsoft.com/kb/258038/ja
573 名前:デフォルトの名無しさん [2008/04/11(金) 06:15:26 ] vector〈基底クラス*〉に数種類の派生クラスをプッシュバックしてオーバーライドした関数を実行するようなことはできますか?
574 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 06:18:09 ] >>573 virtualなメンバ関数を実行ということなら、可能です。
575 名前:デフォルトの名無しさん [2008/04/11(金) 06:33:22 ] もちろん仮想関数にしてあります &の付け忘れでした 解決できましたありがとうございます
576 名前:デフォルトの名無しさん [2008/04/11(金) 06:38:48 ] >>573 =>>574 =>>575
577 名前:デフォルトの名無しさん [2008/04/11(金) 06:50:20 ] 573=574=575=576
578 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 07:17:15 ] >>575 メモリリークに気をつけような。 boost::ptr_vector の使用も検討してみるといい。
579 名前:デフォルトの名無しさん [2008/04/11(金) 12:34:50 ] 動的に二次元配列を確保するにはどうすればよいですか? int x=10; int y=10; double a[x][y]; という風に書くのは、xyが小さい間は出来たのですが、newで確保しようとすると yを変数にできません。vectorを使わずに上記のようなことができるでしょうか? よろしくお願いします。
580 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:37:06 ] double **a; *a = new double[x] for( int i = 0; i < x; ++i ) a[x] = new double[y] こんなん
581 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:47:33 ] boost::multi_arrayオススメ。
582 名前:デフォルトの名無しさん [2008/04/11(金) 12:52:43 ] >>580 ありがとうございます。 確保した二次元配列をほかの関数に渡すにはどうすればよいですか? あと、boost::multi_arrayは速いですか? 今書いているのは、std::vectorもあまり知らない人に見せるためなので、 boostなんてとてもだめです。
583 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:57:05 ] アセンブリ言語のコンパイラのCソースプログラムを持っているのですが、 アセンブリ言語をコンパイルするには、このソースをコンパイルしてから どうすればいいのでしょうか?
584 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:58:11 ] void func( int **a ); これでわたせるんじゃね、多分
585 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:06:03 ] >>582 そういう初心者には、素直に一次元配列を仮想化して使う方がいい。 こんな関数でも用意すればアクセスするのも割と簡単だ。 static unsigned offset(unsigned x, unsigned y, unsigned w) { return x + y * w; } 勿論、メモリ確保はこうなる。 double * a = new double[w * h]; あー、ついでに言えば>580はバグだらけだから要注意で。 つーか、>584もかすだわ。
586 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:06:38 ] >>583 Cソースをコンパイルしてできた実行ファイルを実行してアセンブルすれ ばいいのでは。
587 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:19:33 ] >アセンブリ言語のコンパイラ 有り得ない間違いだな。
588 名前:デフォルトの名無しさん [2008/04/11(金) 13:29:33 ] >>580 これは酷い。
589 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:34:19 ] mbscmp wcscmp などの違いがわからない・・・・ あと、lstrcmp とか strcmp みたいなのもあったような気がするけど気のせい? 誰か、これらの関数の違いについて分かり易く教えてください。
590 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:40:56 ] 文字として wchar_t を使うとき -> wcscmp 文字として char で mbcs を使うとき mbscmp 文字として char で sbcs を使うとき strcmp 文字として TCHAR を使うとき lstrcmp ドキュメント読まずにまず2chで聞くという態度では、わからなくて当たり前。
591 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:49:11 ] >>590 すみません。それがいまいちよくわからないんです。 charを使うときとか、tcharを使うときと言われても抽象的すぎて??? 具体的に、どういう処理をするときにmbscmp や strcmp などを使い分けるのでしょうか? 同じ文字列比較でも、mbscmp を使っていたり、 strcmp を使っていたりと、訳が分りません。
592 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:52:17 ] >>587 確かに…ご指摘ありがとうございます アセンブリ言語を実行するものの意味で使いました
593 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 13:52:50 ] >>591 それは抽象的だからわからないんじゃなくて、勉強しないからわからないのです。 mbcs と sbcs の違いなんか、Google で 「mbcs と sbcs の違い」を(カッコははずして) 検索すればいくつもそれらしい説明のページが出てくるのです。 もし手抜きじゃなくてホントのホントに何もしないで知識が身に付くと思ってるのなら、 そもそもバカなので勉強しても無駄なので止めるべきです。
594 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:04:17 ] >>592 それは普通、アセンブラと呼ばれる。 いや、厳密に言えば「アセンブリ言語を翻訳するもの」だが。
595 名前:デフォルトの名無しさん [2008/04/11(金) 14:05:02 ] >>593 なんか嫌なことでもあったのか?
596 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:05:03 ] なんとなく分ったような分らないような・・・・ 同じ英数字からなる文字列比較でもプログラムによって使っている関数が違うのは 書き手(プログラマー)の意識の違いによる? さらにワイド文字とマルチバイト文字の違いがよく分らん。。。。 出直してきます。スレ汚してすみません。
597 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 14:06:53 ] すまん *a = new double[x] じゃなくて a = new double*[x] だ
598 名前:デフォルトの名無しさん [2008/04/11(金) 14:20:42 ] >>597 それだけじゃねーだろ。
599 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 15:19:15 ] >>595 593じゃないけど、あえて言うなら「投げっぱなしの馬鹿を見てしまったこと」が 「嫌なこと」なんだろう。
600 名前:デフォルトの名無しさん [2008/04/11(金) 20:21:49 ] deleteで落ちちゃうんだけど、原因わかりません>< このコードで落ちます・・・。 int i; char *lpary[4]; for (i = 0; i < 4; i++){ lpary[i] = new char[256]; } for (i = 0; i < 4; i++){ delete [] lpary[i]; } 誰か教えてください。
601 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:23:53 ] 落ちる要素は特に見当たらないが・・・。 多分、他で色々やってる部分でマズいことやってんじゃないかと。
602 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:24:46 ] for (i = 0; i < 4; i++){ delete lpary[i] } delete[] lpary;
603 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:25:53 ] >>602 おいおい^^;
604 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:26:53 ] よく見てなかった すまん忘れてくれ
605 名前:600 mailto:sage [2008/04/11(金) 20:29:44 ] すいません。原因わかりました。 newとdeleteの間でやってる処理で確保したポインタに別のポインタ 渡してしまってた・・・。 まじごめん;;
606 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:30:25 ] 悪い事いわないから、vector 使え。
607 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:28:52 ] >>596 >さらにワイド文字とマルチバイト文字の違いがよく分らん それを調べるのが先だということに気づかないの?
608 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:30:06 ] 出直してくるって言ってるんだからほっとけよ
609 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:33:20 ] 変数をStringだとかChar型で指定することってできますか?
610 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:34:10 ] ????????
611 名前:デフォルトの名無しさん [2008/04/12(土) 00:56:30 ] 静的なメモリを確保をしたクラス内に動的に確保したクラスがあるとします この場合exit(0)が実行された時に正しく破棄が行われますでしょうか?
612 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 00:59:02 ] >>611 だいたいOSがうまく解放してくれる・・・かもね。 そんな保障はどこにもない。ちゃんと解放するかJava等に移行しましょう。
613 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:14:07 ] ぬるぽ
614 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:15:38 ] >>611 ライブラリの仕様によるけど、 ・静的なオブジェクトのデストラクタ⇒呼ばれる ・main()から辿ってその時点までのスタック上にあるオブジェクトのデストラクタ⇒呼ばれない つまりスタックの巻き戻しは行われないが通常のクリーンアップルーチンは呼ばれる、 が一般的なのでは。何か重要な後処理が必要なら atexit でも書いとくべきだな。
615 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 01:34:05 ] atexitを使うことにします ありがとうございます
616 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:10:32 ] constポインタpDataのメンバstd::deque<Log> LogDataを参照するpastLog const std::deque<Log>& pastLog = pData->LogData を上のように作ってそのiteratorを使用したいのですが const std::deque<M3Log>::iterator itr = pastLog.begin(); とすると 左オペランドを扱う演算子が見つかりません (または変換できません) (新しい動作; ヘルプを参照)。 と怒られます 何処をどうしていいのかわかりません、アドバイスをいただけないでしょうか
617 名前:616 mailto:sage [2008/04/12(土) 02:12:31 ] 訂正 const std::deque<M3Log>::iterator itr = pastLog.begin(); ↓ const std::deque<Log>::iterator itr = pastLog.begin();
618 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:12:40 ] c++ は良く知らないけど、 std::deque<Log>::const_iterator itr = pastLog.begin(); じゃないの?
619 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 02:19:58 ] >>618 ありがとうございます 無事コードがコンパイルを通るようになりました const_iteratorなんてあったのか・・・
620 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 03:41:33 ] >>619 >const_iteratorなんてあったのか・・・ 超ワロタじゃないかよ
621 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 04:19:52 ] 静的確保と動的確保でプライベートメンバ関数の実行に違いが出るようなことは有るでしょうか?
622 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 09:55:51 ] 外から借りない限り終了すれば仮想プロセス空間ごと消滅するかと。
623 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:01:31 ] さあて。delete thisするんでない限りは、まー無いんでないかね。
624 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 12:57:40 ] #define sucide delete this
625 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:40:30 ] suicide
626 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:49:06 ] oh misu superu
627 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:50:30 ] ifの条件部で変数を宣言したい時に、boolとして評価できない型だとコンパイルエラーになりますよね std::set::const_iterator it = hoge.find(....); if (it != hoge.end()) { // ここで it を使う } のようなことをするときにifのブロック内にitのスコープを限定して if ((std::set::const_iterator it = hoge.find(...)) != hoge.end()) { のようなことをしたいんですけど無理ですか?
628 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 15:23:43 ] 無理