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
481 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:08:11 ] 画像の輪郭抽出→予めこのパターンにはこの文字を使うというデータを登録しておく→ 画像の上から順にパターン解析と文字割り当てを行う。 って感じしか思い浮かばん
482 名前:デフォルトの名無しさん [2008/04/08(火) 11:08:35 ] >>480 初心者なもので・・・ 画像を読み込んで、テキストに変換してさらにそれの色を判別してつけるのは どの辺のコードを見たら良いのでしょうか?
483 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:19:20 ] 今動画見てきたぜ。想像してたのと違ったぜ。とりあえずBMPを配列にするとこからはじめたら? BMPのフォーマット↓凄く簡単だからすぐできるはず。 ttp://www.kk.iij4u.or.jp/~kondo/bmp/ 後は色に合わせて<font color="色">■</font>をひたすら出力すればできるだろ。 中級入門くらいじゃね?動かしたいならJavaScriptの解説かじればおk
484 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:38:37 ] >>476 とりあえず、どのあたりで困ってるのかな。? mainに全部書くのではなく関数を作ってみよう。 引数をまとめれば、何をするべきかわかるんじゃないかな。
485 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:43:09 ] 昔、先輩が「コンストラクタではnew使うな」と言っていたのを思い出したのだけど、 これってどういう意図なのでしょう。 一般的なルールなのか、特定の状況で有効な話だったのか……。
486 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 12:47:03 ] >>485 コンストラクタ内で例外が発生すると、デストラクタは呼ばれない (仕様) → new でコケたらリーク! じゃね? コンストラクタ内の例外は漏れなくコンストラクタ内で処置すれば無問題。
487 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:04:20 ] >>479 お絵かきとかでもあるネタだけど、むしろどうやって動画にしてる のかの方が気になる。コーディング中ずっと録画してあとで編集 してるんだろうが…根性あるなw
488 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:17:33 ] コーディング中のキータイプを記録、編集 ↓ 動画を取りながら記録したキータイプをマクロで動かす ↓ (`゚'Д`゚')
489 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 13:24:03 ] >>479 画像を読み込んで表示するところから始めたらいい 結構親切っぽいから彼のサイトの掲示板で聞いてみれば 講座の方はかなり酷いスパゲティコードだからお勧めしないw
490 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 16:01:19 ] この講座、どんな感じ? ttp://weblearningplaza.jst.go.jp/cgi-bin/user/top.pl?next=lesson_list&type=simple&field_code=40&course_code=585
491 名前:デフォルトの名無しさん [2008/04/08(火) 18:21:58 ] cinからdoubleを1つまたは複数入力させます。入力されたのが1個なのか、複数なのか判定したいのですが、 以下のコードでよいですか?Macだとうごくのですが、windowsでもこれでいいのかわかりません。 double a; std::cin >> a; if (std::cin.peek() == '\n') { // 数字は一個だった } else { // 一個じゃなかった。 }
492 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 18:48:09 ] >>491 やってみりゃいいじゃない。
493 名前:デフォルトの名無しさん [2008/04/08(火) 19:06:50 ] >>492 ありがとうございます。今手元にwindowsがないのです。 また、自分のところのwindowsでやってみて動いても、ほかの人のwindowsでは どうなるかわからないし… その、規格的に入力の文字列末判定はこれでいいのかどうか、知り痛いです。
494 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:10:04 ] >>485 VC8で大量にメモリの確保しているとコンストラクタの中のnewで「メモリが不足しています。」とエラーがでる。 理由が分からずallocにしたら問題なかった。 というか今も原因が掴みきれない件。
495 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:20:20 ] 使う型がある程度限定できるテンプレートだったら MyTemplate<型名>をtypedefしてしまえば良いような気がするけど これってありなんですかね?
496 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 19:38:16 ] まさにstringとwstring
497 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 20:08:28 ] >>493 つボラギノール
498 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 21:56:33 ] >>495 あり。
499 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 21:59:56 ] ありあり。
500 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:04:32 ] ありありありあり。
501 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:05:12 ] ありが十匹で
502 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:14:19 ] さよならだ
503 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:23:50 ] アリーヴェデルチ
504 名前:476 mailto:age [2008/04/08(火) 22:28:39 ] >>478 様 ですよね、失礼しました; >>484 様 エラー仕様を作ろうとしたのですが、 【整数の場合最大8桁までを有効とし、9桁以降を無視する。 負数の場合は、最大9桁までを有効とし、10桁目以降は無視する。】とあり、 【『−』のみ、または改行のみ入力されたらエラーメッセージを表示し、終了】 というのもあるので、 エラーとしては if(a[0]=='\n') if(a[1]=='-' && a[0]=='\n') みたいなのを使えばいいのかなぁ、程度で考えてるのですが、 どこに入れればいいのかなどイマイチ判らないのです;
505 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:34:19 ] ひょっとしてその数え方だと、「-1」は2桁なのか?
506 名前:476 mailto:age [2008/04/08(火) 22:53:28 ] >>505 私的にはそういう風に考えてます;
507 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:54:05 ] >>486 なるほどー例外ですか。それは思い浮かばなかった。 newしたときの初期化の処理が無駄だったりするのかとか当時考えたのを思い出した。
508 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 23:02:41 ] >>504 whileを抜けて >if(a[0]=='\n') if(a[1]=='-' && a[0]=='\n') の場合にreturnで終わればOK returnの前にprintfで適当にエラー出せば目的のものになるだろ。 >どこに入れればいいのかなどイマイチ判らないのです; どこに入れてダメだったんだ?
509 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 23:09:47 ] classのなかにnamespaceは作れますか?
510 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 23:19:28 ] muri
511 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 03:14:20 ] 質問なのですが、(VC++ 2008 EE を使用しています。) 以下のコード。 COORD coord; HANDLE hConsoleStdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hConsoleStdOut, coord); は、<windows.h>をインクルードして使える、というのは判断できますが、 これはwindowsプログラミングなのでしょうか? WinMain()関数も無いし、DOSで表示されるのですが、 こういったコードの総称は何と呼ばれているのですか? 説明下手で申し訳ないです。
512 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 03:17:27 ] WindowsのAPIに依存してるならどう考えてもWindowsプログラミングだと思うが…。
513 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 03:39:45 ] WindowSystem(≒GUI)プログラミングではないが、 (MS-)Windowsプログラミングだな。 ついでに言えば、コンソールウィンドウはDOSではない。
514 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 04:02:03 ] >>512 >>513 ありがとうございます。 この「COORD coord;」や「HANDLE」の意味が解らず、 じゃあ総称が判ればネットで検索できる、と思い至ったのですが、 ネットを見ても、C言語による(MS-)Windowsプログラミングが掲載されていないんですよね。 はぁ。。。
515 名前:デフォルトの名無しさん [2008/04/09(水) 05:19:59 ] >>514 日本語訳は無いけどMSDNに載ってるよ。
516 名前:Alexander The Great WAS ALBANIAN, the PROOF by Flamuri [2008/04/09(水) 06:53:32 ] www.youtube.com/watch?v=YHmV_1nXpX8
517 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 07:30:25 ] >>507 ちゃんと delete すれば問題ない。 例外を一旦コンストラクタ内でキャッチして delete するのもいいが、 スマートポインタに入れておけばあとはデストラクタが勝手に何とかしてくれる。 コンストラクタ内で例外が発生した場合に呼ばれないデストラクタは 構築中のオブジェクトのデストラクタだけだからね。 既に構築されたオブジェクトのデストラクタは全て呼ばれる。 例えば基底クラスのデストラクタとか 構築されたメンバ変数のデストラクタとかは全て呼ばれる。 new に関して気をつける必要があるのは事実だけど、 使っていけないってことはあり得ない。 まあ、初心者は使わない方が無難ってこと程度の話じゃないのかな。
518 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:01:29 ] いいえ、newを生で使っている人はちゃんとスキンをつけるようにしてください。
519 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:26:43 ] newに限らず例外を投げる可能性のある関数をコンストラクタ内で 呼び出すときはstack unwindを考えて対応する。
520 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:32:36 ] コンストラクタ内でnewが例外吐いたのをキャッチしたとして、 そのあと何をすれば良いのですか?
521 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:38:26 ] >>520 ケースバイケース スワップが頻発してるなどメモリ不足でシステムがヤバイ状態なら 終了してシステム全体のシステムの再考。 そのエラーを無視してでも少しでも長く生き続ける必要が条件なら ログにでも吐いて続行。
522 名前:デフォルトの名無しさん [2008/04/09(水) 11:47:43 ] VC++2008EE ListBoxの1行削除ができたので、今度は削除前に メッセージボックスを出して見ようとしたのですが、 エラーがものすごい数出てしまいました。 System::Windows::Forms::DialogResult result; result = MessageBox::Show("削除しますか?","DELETE CHECK",MessageBoxButtons::YesNo); Debug::WriteLine(result); if(result != System::Windows::Forms::DialogResult::Yes)){ return; } if文全体を削除すると問題なく動作し、 また、出力ではYes,No確認できるので、 if文のSystem::Windows::Forms::DialogResult::Yesが、 問題なのかと思い、"Yes"とかにしてみたのですがやはりエラーが出てしまいます。 これはなぜエラーが出てしまうのでしょうか
523 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 11:56:41 ] >>519 それコンストラクタ関係ないだろ。
524 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:00:08 ] >>522 それ.netじゃん AfxMessageBoxかAPIのMessageBox使うべし
525 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:03:48 ] >>520 コンストラクタ内で catch なんて書かないでいいように RAII を徹底したほうがいい。
526 名前:デフォルトの名無しさん [2008/04/09(水) 12:14:47 ] >>524 ひと目でわかる Microsoft Visual C++ 2008 アプリケーション開発入門 という本を読みながらやっていて、 本書はC++/CLIで書いてある。とあるので、たぶん.netというやつだとおもいます。 この本の通りにやるとエラーが出てしまい、 エラーの内容見てもよく分からなくて、 いろいろ試してたのですが、結局原因が分からず聞いてみました。 この本で使っているMessageBoxにはなにか問題があったりするんでしょうか
527 名前:デフォルトの名無しさん [2008/04/09(水) 12:21:41 ] >>526 C++/CLIてのはC++でなんとか.net使いましょうよ・・・っていう仕様 .netだけならC#の方がいいし、速度的にC++ならC++/CLIしないでMFCかAPI使った方がいい
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オススメ。