1 名前:デフォルトの名無しさん [2008/07/31(木) 18:02:28 ] Visual C++入門者・初心者からの質問を、 お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5 辺り。
486 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:19:45 ] 考えられる原因は無限にある。 せめてどこで失敗するのか突き止めろ。
487 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 06:44:43 ] >>481 モニターのカラーのビット数が違うとか
488 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 06:48:41 ] 何も知らない初心者がC#ってやつから始める事にしたお。 その次はJAVAかな。地味に頑張るお。新兵に激励を頼むお。
489 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 07:58:15 ] 貴様は人間ではない!糞ほどの価値もない! C#訓練に生き残れたら、プログラムの司祭となる! サービス残業に命を捧げるTI土方だ!
490 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 09:22:37 ] ビットマップの作成で失敗するか、表示で失敗するかぐらい確認しろ それぞれの環境で両方のビットマップ表示したらわかるだろ
491 名前:デフォルトの名無しさん [2008/09/17(水) 16:09:06 ] std::vectorに自分で作ったクラスのオブジェクトのポインタ入れてあるんですけど clear()をすると、保持してるポインタのさしてるオブジェクトをdeleteしてくれるんでしょうか?
492 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 16:44:02 ] スレ違い
493 名前:デフォルトの名無しさん [2008/09/17(水) 16:54:08 ] >>492 死ねアホ。
494 名前:デフォルトの名無しさん [2008/09/17(水) 16:57:32 ] std::vectorに自分で作ったクラスのオブジェクトのポインタ入れてあるんですけど clear()をすると、保持してるポインタのさしてるオブジェクトをdeleteしてくれるんでしょうか?
495 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:05:43 ] ここC++スレじゃないけど
496 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:07:42 ] >>494 boost::ptr_vectorを使うか、boost::smart_ptrでポインタを包む
497 名前:デフォルトの名無しさん [2008/09/17(水) 17:08:26 ] Visual 「「「「C++」」」」」」
498 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:08:28 ] ×boost::smart_ptr ○boost::shared_ptr std::auto_ptrはだめです
499 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:12:02 ] >>496 >>498 要するに勝手にdeleteまではしてくれないということですね? boostの使用も検討してみます。ありがとうございました。
500 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:12:37 ] 数学の授業で小学校レベルの算数の質問されたら迷惑だろ いちおう関係なくはないけど
501 名前:デフォルトの名無しさん [2008/09/17(水) 17:15:39 ] ↑今日一番のアホ
502 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 17:31:33 ] >492,495,500 痛いな
503 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:00:34 ] 寧ろ>493,497,501,502が痛い罠。
504 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:14:29 ] いやいや、俺に言わせれば >502,503 が必死w
505 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:15:20 ] C++やC#やるのにどのソフトがお勧めとかある?
506 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:28:10 ] とりあえず2008 Express Edition使っとけ
507 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 18:50:45 ] Microsoft Visual Studio 2008 Express Editionの事? 無料でいいのか?とか不安に思った Visual Studio .NET Professional普通にこっちのがいいかとも思ったけど Express Editionでも平気ならそっちでいいか
508 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 19:19:56 ] お前に使えるのか不安に思った
509 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 20:36:02 ] むむ…初心者を舐めたらいかん きっとなんとかなる…はず…多分…恐らく…
510 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 21:23:22 ] >>507 グダグダ言ってる間に使ってみればいいだろ
511 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 21:41:18 ] >>499 VC++ 2008にSP1当ればboostなくてもstd::tr1::shared_ptrが使える。
512 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 18:39:27 ] 数日前までうまく言っていたのに、急にコンソールウィンドウを 最大化しないと見られなくなりました。 原因が分からないのでどなたか教えてください
513 名前:デフォルトの名無しさん [2008/09/18(木) 20:22:37 ] VC6で、ウィンドウ上部のメニューやツールバーアイコンを、 必要に応じて適宜、グレー可(クリック不可なようにする)などの変更をする方法教えてください。
514 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 21:07:25 ] Enable: ボタンを選択可能または選択不可能に設定します。
515 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:06:37 ] CとC++の違いって何ですか?
516 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 10:07:07 ] 一言では言い表せない
517 名前:デフォルトの名無しさん [2008/09/19(金) 14:06:30 ] VC++とBorland C++Builderってどっちのほうがつかいやすい? 低スペPCの俺には無理?
518 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 14:35:32 ] 人による
519 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 15:15:31 ] VC++のほうが低スペック コンパイル速度はBCC
520 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 15:18:52 ] そんなどうでもいいことで選ぶやつもいるんだ
521 名前:481 mailto:sage [2008/09/19(金) 17:35:10 ] >>486 ビットマップの作成で失敗していると思われます。 プログラムの作成に使用したPCではビットマップ画像のファイルの大きさが2,521KB に対して、プログラムを移行させたPCではファイルの大きさが1,262KBで作成されてしまいます。 >>487 プログラムを移行させたPCが手元にないのでわかりませんが、調べて同じにしてみたいと思います。 >>490 上にも書いたとおり、ファイルの大きさが違うので作成で失敗していると思われます。 よろしくお願いします。
522 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 17:56:20 ] >>517 VCスレきたんだからおとなしくVCつかっときな BCのほうはただでさえ人少ないのに 偏屈なこだわりがある自称玄人ばかりだから ネットの情報すくないし何を聞くにしても大変 だからといってVCはましなのかというと腐ってるわけだがBCほど腐ってない
523 名前:デフォルトの名無しさん [2008/09/20(土) 16:48:08 ] VC6で、DirectXのAPIを使わずに、スプライトなどの2Dグラフィックス表現を実現する簡単な方法はありますか? オートシェイプのような簡単な画面レイアウトソフトを作りたいのですが、 標準のコントロールやCViewクラスの描画メソッドでは、重なりや透過などの指定に限界が出てきてしまうようです。 オブジェクトをドラッグで移動したり拡大縮小したりにも対応させたいので、 ゲームプログラムに近い作り方で各オブジェクトをスプライトとして扱いたいのです。 業務用で使うツールとして、DirectXが動くかどうか怪しい環境でも使うことを想定しているので。 DirectXのAPIを使うことは無しの方向で、いろいろ模索しています。
524 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 16:52:36 ] bitbitがある
525 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 16:59:53 ] このソースで初めて、windowsの標準で描写できるのを知った おまいらSaGa4つくろうぜ! www.geocities.jp/saga4project/
526 名前:デフォルトの名無しさん [2008/09/20(土) 17:12:53 ] VC++でソースをかいてビルドするのですが、 VC++が応答なしになってしまってビルドできません。 これはスペックの問題でしょうか? ちなみに警告やエラーはありません。
527 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 17:31:06 ] 正直向いてない
528 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 20:25:09 ] bitbltだろww
529 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 21:32:17 ] 当然とは思ったけど念のため手持ちのゲームを解析してみたら 必ずしもDirectXは使ってないね
530 名前:481 mailto:sage [2008/09/20(土) 22:24:56 ] 解決しました。 >>487 さんがおっしゃってたことを試しました。 プログラムに使用したPCのモニターのカラーのビット数を最高(32ビット)から16ビットにして ビットマップを作成すると、1,262KBの描画できていないビットマップが作成されました。 なので移行したPCもモニターのカラーを最高(32ビット)に変更したいと思います。 ありがとうございました。
531 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 22:29:28 ] なんつう糞プログラムだ
532 名前:523 [2008/09/20(土) 23:17:20 ] >>524 >>525 >>528 >>529 Bitbltですね。ヒントありがとうございます。 スプライト的な使い方ができる解説やサンプルみたいなのありますか? >>525 のソースは見てみましたが、 できればVC6のプロジェクト形式でのサンプルがあればと。 Bitbltを使えば、CViewクラスのビュー上に描画することが可能なのですか?
533 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 23:21:35 ] VC++開発においてC#やVBなどで用いられる IDE機能をもたらすアドインはないでしょうか? 例えば、コメント表示(C#ではコメントはXMLで整理されており コード内のメンバにカーソルをあわせたときや入力補完のときに 情報ウィンドウにコメントが表示されます)や、 コードチェッカ・整形(C#ではresharperというアドインによって 定義されていないメンバの呼び出しに色づけしたり、 メンバ名変更などのリファクタリングができます) クラス定義のリンク (既定・継承クラスへのリンクを列挙したり 名前からクラスやメンバを検索したり、 参照へのリンクも標準のgrepみたいな質素なのではなくて、 名前空間・クラス・メンバで階層化されたものがよいです) こういった定番的な付加機能のアドインを知りたいです。 あとVSのエディタで宣言部分 (例えば「Vector vec;」でVectorの部分)に色づけをすることはできませんか?
534 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 23:43:50 ] コピペ、クレクレ厨かよ
535 名前:533 mailto:sage [2008/09/20(土) 23:55:04 ] >>534 お気を悪くされたのでしたら申し訳ありません。 でもコピペではないし、 ここはVC++関連について教えて頂けるスレではないのでしょうか? クレクレばかりではなく普段自分が教えられることは教えていますし、 事前に一応検索もしました。うまく見つけられなかったので お力を借りたいと思いここに書きました。
536 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 00:22:22 ] その機能ってインテリセンスなんじゃないのか? あと、特定の単語に色をつける機能はある。Userナントカってファイルがどうのこうの、だったが……忘れた。
537 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 08:25:41 ] >535 初心者スレで質問してるんだから初心者だよな? 慣れるまでデフォルト、ノーマルで使っとけ
538 名前:533 mailto:sage [2008/09/21(日) 19:33:38 ] >>537 すみません、C++は初心者ですが必要になったから使うだけなので ガリガリ書いてマスターする気にはなれません (デフォでやったからといって上達するわけでもないし)。 なので支援機能は是非欲しいのですが皆さんデフォで使ってるのでしょうか? .NETと比べるとまるでプレーンテキストを読み書きする感覚です。 初心者スレではなく他のスレに書いたほうがいいのかな?
539 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 19:44:47 ] C++はマスターしてから書きましょう
540 名前:デフォルトの名無しさん [2008/09/21(日) 20:25:18 ] visual C++の入門書を買おうと思うんですが、どれがいいでしょうか? プログラミング経験は、あまりないです。(PHPを少し扱える程度)
541 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 20:34:15 ] >プレーンテキストを読み書きする感覚 的確な表現だと思うのは俺だけか。 ドットネットが部品を組み合わせて使うものなら、C/C++はその部品を自分で作らなくちゃいけないんだよ。 判りやすく言うと、マゾい。作りたいアプリとは関係ないところで躓くことも多いし、 ちょっと間違えただけで簡単にクラッシュする。一昔前ならOSごと落ちる。 はっきりいって、そのような向上心のない態度ではとてもじゃないが使えない。 時間の無駄。断言できる。結果が出せるまで一年くらいかかることは確定的に明らか。 それでもC/C++を使ってる人たちは、そのような強烈なデメリットを承知の上で、 なおあまりあるメリットを見いだしてるから。 部品を自分で作る必要がある、ってのを、どうとらえるか。 それ次第で、C/C++は便利な道具にも、使えないガラクタにもなる。 いいかね?使う方が言語を選ぶんじゃあない、言語が使い手を選ぶんだ。それがC/C++だ。 わかったらドットネッターにもどるんだな。おまえにも かぞくがいるだろう……
542 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 20:35:39 ] ガイル乙www
543 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 20:36:22 ] 少佐!お疲れ様であります!
544 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:27:48 ] >538 このへんを参考に www.microsoft.com/resources/msdn/en-us/msdntv/episodes/en/20031028LHORNDB/ChrisA-DonB_300K.asx
545 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:28:39 ] >>541 マスターする気がないといったことは、 バリバリやってるマ様には失礼な発言ですみませんでした。 でもそこまでマゾになんなくても、 楽をするのに努力を惜しまないのがマなのでは? OSSが巷に溢れる昨今に部品を自作する意味は弱いという考えもありますし、 そもそも今回の話題は部品の自作ではなく環境の整備が焦点です。 あんまりにも環境が貧弱でそれが無駄にC++の敷居を上げている と思ったのです。 以下は質問なのですが 継承クラスを探すのにはgrepでもやってるのでしょうか? 与える引数の型がミスしてるのを脳内チェックかコンパイラしか 見つけられないのでしょうか? メンバ名の変更は対象以外が置き換わる危険性を孕んでまで全文置換でしょうか? 細かな仕様(例えば参照渡しで事前に値設定が必要なのかなど) もわかりづらいと思うのですが、いちいちリファレンスを引くのでしょうか?
546 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:32:51 ] C++は複雑すぎてインテリセンスできないのです。 C#のように単純な言語ならではなのですインテリセンスは。
547 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:40:51 ] >>546 インテリセンス(入力補完)はC++でも有効でしょうし複雑さとは 関係がないような気がします。コメント概略が表示されないのは何故…。
548 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 21:49:20 ] >>544 ありがとうございます!少し道が開けた感じです。 連投すみませんでした。皆様もよりよい環境でプログラミング できますように。
549 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 12:20:40 ] ここでそんなことをぐだらぐだら聞くよりもやるべきことは他にあるだろうに。
550 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 18:21:41 ] forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=3904878&SiteID=7 日本語読まない奴ってどこにでもいるなぁ
551 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 18:26:45 ] 自分の知らない単語は無意識に飛ばしてるのだろう。 これは日本語でも英語でも同じw
552 名前:デフォルトの名無しさん [2008/09/22(月) 18:54:56 ] >>540 の回答お願いします。
553 名前:523,532 [2008/09/22(月) 18:56:55 ] Bitbltでオブジェクトを表示したりマスクかけたりする処理についていろいろ調べてみました。 画像とそのマスクを用意して透過するぐらいまではなんとかできるようになりました。 今作ってる表示のメインはテキストや図形なので、とりあえずテキストを貼り付けたCDCオブジェクトを用意したいのですが・・・ どのようにしても表示されず困っています。 viewのOnDrawメソッドで、 CDC* spr=new CDC; spr->CreateCompatibleDC(pDC); spr->TextOut(0,0,"テスト文字"); pDC->BitBlt( 0, 0, 300, 300, spr, 0, 0, SRCCOPY); これで何も出ないです。 TextOutではなくDrawTextでやる方法も試みました。 DrawText(spr->m_hDC,"てすともじ",11,temp,DT_CENTER) こちらも表示されないようです。 画像表示のときは CDC::SelectObject() で、対象のCBitMapを指定すれば良かったようですが、 テキストの場合はどう指定すればよいですか? VC6なので資料やサンプルが少なくて難儀してます・・・
554 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 18:58:30 ] >552 PHPを少し扱える程度じゃVCは無理 もうちょっと初心者向けの言語をお勧めします。
555 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 18:59:52 ] >>553 DCはデフォルトでは1x1のモノクロビットマップが選択されている そのまま描いたらたぶん、1ドットだけBitBltされてると思うよ、よくみてみ。 通常はイメージに限らず、ビットマップを作成してDCに選択し、そこに書き込んでから ウィンドウにBitBltする。
556 名前:デフォルトの名無しさん [2008/09/22(月) 19:20:34 ] >>555 CBitmapクラスにテキスト(の形)を読み込んで使うということですか? どのメソッドを使ったら良いか教えてください。
557 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 19:29:20 ] コピペ君には教えるだけ無駄
558 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 21:59:36 ] メソッドじゃできないよ。CでAPIを直に触らないとダメ
559 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 00:49:37 ] >>553 CBitmap::CreateCompatibleBitmapをやって 553で言うところのsprにSelectObject あとはspr->TextOut or DrawTextしてpDCへBitBlt 手(CDC)に紙(CBitmap)と活字(CFont)を持って(SelectObject)文字を書く(DrawText) 最初は面倒だけどすぐ慣れるよ。
560 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 13:30:31 ] >>556 DCにつながってるデバイスってディスプレイだったりプリンターだったりするじゃない? そういうデバイスを指定しないで作ったDCはビットマップがデバイスなんだよ。 だから自分でビットマップを作りそれをDCに選択してそのDCにTextOutすると そのビットマップに文字が描かれる。 そのビットマップをウィンドウのDCにBitBltすれば画面上で見られるってわけ。
561 名前:デフォルトの名無しさん [2008/09/23(火) 13:42:57 ] visual studio 2008 express を使用しています。 現在あるオープンソースソフトウェアをソースからビルドしようとしているのですが、 ビルドに際し、環境変数が見つからないと言われます。 windowsOSの環境変数は指定されている通り設定しているのですが、エラーが起こります。 確かvisual studio自体にも環境変数を指定する箇所があったと思うのですが、 場所がわかりません。 visual studio自体に環境変数を指定する場所があるならば、 その方法を教えていただきたいです。
562 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 13:49:35 ] すいません。 スレ違いのようですね・・・ 失礼いたしました。
563 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 13:53:25 ] さようなら
564 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 16:36:04 ] 新規プロジェクト追加時に、自分で設定した値を常に反映させることは可能でしょうか。 具体的には警告レベルを4として、新規プロジェクトが作成されることを望んでいます。
565 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 16:48:50 ] お使いの製品のグレードあるいはユーザーの知的レベルによって可能
566 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 16:51:39 ] VS2005EEです。知能は未アカデミックです。
567 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 18:01:03 ] エンタープライズエディションをばかにするな あやまれ!! みたいな。
568 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 18:35:19 ] カスタムプロジェクトを使用 マクロで設定 既存のプロジェクトをコピーして使いまわす。 プログラム、スクリプト等で定義ファイルを書き替え VSにパッチを当てて改造する。
569 名前:デフォルトの名無しさん [2008/09/24(水) 15:57:07 ] C/C++室から誘導されて参りました。 VC++2005の使い方を教えてください。質問は以下です。 > 482 :デフォルトの名無しさん [] :2008/09/24(水) 07:57:18 > VC++2005を利用しています > 例外を勉強しているのですが、例外を発生させたときに、 > catchで例外を処理しても、デバッガに例外があったことが出力されます > > catchで例外を処理するときは、 > デバッガの出力に例外が発生したことが出力されるのを防ぎたいですが、どのようにすればいいでしょうか > > 483 :デフォルトの名無しさん [↓] :2008/09/24(水) 12:37:12 > >>482 > 出力って、例外時のデバッガのダイアログ?だったら、デバッグ->例外で設定できる > デバッグ出力の例外のレポートだったら気にするな。レポートが出すぎて困るのだったら例外の使い方が間違っている。 > > 484 :482 [] :2008/09/24(水) 13:18:40 > >>483 > れす、ありがとうございます。後者です。 > > 例外のつかいかたについては勉強していくところです。 > もし、テストケースとかを今後記述するような場合に、デバッグ出力でOFFにできないのか探しています。
570 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 16:12:20 ] リリースビルド
571 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 16:18:03 ] 勉強? その出力で困るやつがいるのか? 遊びじゃないんだからいい加減にしろ
572 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 16:30:52 ] 無料になってから馬鹿が増えたな
573 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:37:53 ] >>569 Googleで検索しろ 遊びじゃないんだからそのくらい自分で調べろ
574 名前:553 [2008/09/25(木) 08:33:12 ] >>559 >>560 大変分かりやすい説明ありがとうございました。 やりたかったことが実現できました。
575 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 12:49:58 ] >>569 例外は文字通り例外的なことが起きた場合に使うもので、実行を中断せざるを得ないぐらいの場合にしか使わないほうがいい。 そんな滅多におきないことのためにifをたくさん書くのは面倒だしテストが大変になる。だから例外を使って楽に例外処理を実装する。
576 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 21:16:30 ] class Hoge{ public: Hoge(); virtual void abs_func() = 0; }; class Hoge_1:public Hoge{ public: virtual void abs_func(); }; Hoge::Hoge(){ abs_func(); } void Hoge_1::abs_func(){ } int main(int argc, char* argv[]){ Hoge *p = new Hoge_1; delete p; return 0; } このコード、BCB6では正常ビルドできるけど VC2005では「外部参照 1 が未解決」リンカエラーなる。 何で?コンパイラスイッチで回避可能?
577 名前:デフォルトの名無しさん [2008/09/26(金) 22:18:04 ] 基底クラスのコンストラクタで純粋仮想関数呼んでるから
578 名前:デフォルトの名無しさん [2008/09/27(土) 10:58:32 ] 今までEclipceをずっと使ってたんだけど、C++で開発するにあたり、VisualC++を使ってみた。 これにはEclipceみたいに、コンパイルエラーが出る箇所を赤線で事前に教えてくれたりってのはないの?
579 名前:デフォルトの名無しさん [2008/09/27(土) 11:12:32 ] ないね。
580 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 11:27:05 ] ありがと〜
581 名前:デフォルトの名無しさん [2008/09/27(土) 11:40:47 ] ほのぼのしたスレですね
582 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 13:14:19 ] 文法間違えてると、それ以降のツールチップヒントが出てこない場合がある。 例えば、構造体のメンバだと、 hoge. ここまで書くとメンバ一覧がひょこっとでてくるが、 前に間違いがあると、 a += b: これ間違い。 hoge. ここでヒントが出てこなくなる。
583 名前:デフォルトの名無しさん [2008/09/27(土) 14:30:10 ] VC2005でプログラム(コンソールで動くもの)を作成しています。 コンパイルして実行してみても予期したとおりに動かないのでデバッグで調べた所、 cppファイルのテキストと実行している位置がずれているようです。 ステップオーバーで1行ずつ実行しているのにありえないところで数行飛んだりします。 (代入文が5つ続いてるのをジャンプしたりする) 一つ気になる点はビルド時に LINK : 前回のインクリメンタル リンクで C:\Documents and Settings\管理者\My Documents\Visual Studio 2005\Projects\****\Debug\****.exe が見つからなかったか、ビルドされませんでした。フル リンクを行います。 という表示が出ることです。 ソリューションのクリーンを行ってもncbファイルを削除してからリビルドしてもこの表示が出ています。 原因or解決方法ご存知の方、お助けくださいませ。
584 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 14:34:59 ] Release版をデバッグ実行してね?
585 名前:583 [2008/09/27(土) 14:38:59 ] >>582 素早いレスありがとうございます。 確認しましたが構成はDebugになってます。
586 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 14:39:39 ] そもそもデバッガなんて使わないほうがいいよ。 printfとfprintfがあればおk