[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/11 09:59 / Filesize : 221 KB / Number-of Response : 903
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★初心者にVisual C++を教えるスレ★ Part33



1 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 17:44:23 ]
Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。

■質問するにあたって
・エラーや警告のときはエラーメッセージを書きましょう。
・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。
・できるだけ具体的に。

質問の仕方については次のページが大変参考になります。
www.hyuki.com/writing/techask.html

■回答するにあたって
・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。
 (MSDNのどの項目だとか、何のキーワードでGoogleするとか)
・ネタや煽りは軽く流しましょう。

過去スレ、関連スレなどは>>2-5辺り。

267 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 06:26:43 ]
構造体やクラスを作って実際に使おうとすると、インスタンス.と打つとメンバがズラッと出てくるはずですけど表示されなくなってしまいました。原因わかりますか?
インスタンスをマウスオーバーすると構造体はちゃんとポップアップ表示されます。

268 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 09:41:20 ]
よくあることなので諦めましょう

269 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 20:50:13 ]
>>267
「.」を打ったり消したりを繰り返してれば復活しない?
後は、一回ビルドしなおすとか、ncbファイル消してみるとか・・・



270 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:41:24 ]
何度かやってると復活するな
文法が間違ってたりすると反応しないから、何度もやって復活しないなら文法ミス

271 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:48:08 ]
テンプレートかインクルードファイルが多すぎると、バグか知らないけど認識してくれないことが多い気がする。

272 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 21:59:24 ]
2005/2008的には、仕様です。って感じだな。

273 名前:デフォルトの名無しさん [2009/04/11(土) 00:49:19 ]
Windows7でたら、パソコン買おうとおもうんだけど、今のWin2000じゃスペック的にも無理があるから・・

Windows7でもVC++6.0ってインストールできるのかな・・いまだに結構使ってるから、入れたいんだ。

274 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 00:57:22 ]
>273
もうサポートも終わった環境なんて捨てろw

275 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 01:23:57 ]
>>273
VC++6.0なんて仕様がイミフだからもうヤダ。。。



276 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 09:31:43 ]
>>273
VMWareで2000動かしてそこにインストールするのがお薦め。


277 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 11:05:41 ]
次期モデルC++0xはどれだけ対応しているのか期待したい

278 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 14:30:08 ]
>>275
VC9になったところで仕様イミフだろ。

279 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:22:01 ]
>>277
こういう感じらしい。decltypeが無いのは痛いと思う。
ttp://www.codeguru.com/forum/showthread.php?t=466893
ttp://d.hatena.ne.jp/faith_and_brave/20081217/1229503972

280 名前:デフォルトの名無しさん [2009/04/13(月) 12:34:48 ]
エディットボックスコントロールや、立地エディットコントロール以外に
ActiveXとかでエディタコンポーネントってありませんか?

281 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 13:56:59 ]
作れば何でもある

282 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 14:25:13 ]
エディットボックスというのは初めて聞いた

283 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 18:39:12 ]
VC++の得意分野って何?みんな何作るの?
GUIアプリならC#で作った方が早いじゃんか。

284 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 19:29:19 ]
.NET Frameworkなんて死んでも入れないという人のためのアプリを作るためとか。

285 名前:280 [2009/04/13(月) 19:58:06 ]
>>281
はい、ありがとうございます。この際作ろうと思います。
>>282
?私のVCのツールバーにエディットボックスってあるんですが・・普通はないのかな?

で、自作しようと思いますが、CEditクラスを継承しようと思いますが、
自動インデントやらの独自機能を追加しようとおもいます。
その場合、ActiveXという形式で作成するのか、普通のC++クラスとして作成汁のかどっちがいいんでしょうか?

なにぶんVC++はあまり知らないので、おしえてください。



286 名前:デフォルトの名無しさん [2009/04/13(月) 20:53:15 ]
vc++2008のエディタをウィンドウ分割したときに
上側のウィンドウへフォーカスを切り替えたいとき
キーボードでやるにはどうすればいいの?

287 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 09:03:28 ]
>>286
上側ではないがF6で切り替え

288 名前:デフォルトの名無しさん mailto:sage [2009/04/14(火) 10:12:40 ]
>>287
できました!ありがとう。

289 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 21:57:30 ]
質問です。
VC++.net2003で、VB6.0のTextBoxと思われるもの(spy++によると、"ThunderRT6TextBox")より、
WM_GETTEXTで文字列を取得するアプリを作りました。
ただ、TextBoxの格納上限 > WM_GETTEXT取得上限のようで一定量を超える入力があると
全てを取得することが出来ません。
EM_GETTEXTEXで試したのですが、リッチエディットコントロールではないのか、何も返してきません。

何かいい方法ありませんでしょうか。
(スレあってますよね・・・?)

290 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 09:01:23 ]
MFCのクラス階層図を網羅したExcelファイルはどこかにないかね。

291 名前:デフォルトの名無しさん [2009/04/19(日) 15:32:03 ]
VC++2008EEなのですがビルドしようとすると
general error c1010070: Failed to load and parse the manifest.
と出てきて何もできません。どうすればよいのでしょうか?

292 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 16:06:38 ]
プロジェクトのプロパティの構成プロパティのマニフェストツールの入力と出力に
変なファイル指定してない?

293 名前:デフォルトの名無しさん [2009/04/19(日) 16:19:03 ]
入力リソースマニフェスト→指定なし
出力マニフェスト ファイル→$(TargetPath).manifest
となってます^^;

294 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 16:23:53 ]
それ消すか、埋め込みマニフェストにしてみては

あと、新規プロジェクトでゼロから作ってもそれ出る?

295 名前:デフォルトの名無しさん [2009/04/19(日) 16:27:05 ]
消しても埋め込みマニフェストにしても無理でしたorz
新規で作っても出ます;;



296 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 16:41:32 ]
むむむ、、、、再インストール・・・かなあ

297 名前:デフォルトの名無しさん [2009/04/19(日) 17:43:02 ]
再インストールしても無理でしたorz

298 名前:デフォルトの名無しさん mailto:sage [2009/04/19(日) 23:24:59 ]
ためしに、[ツール]-[設定のインポートとエクスポート]から
すべての設定をリセットしてみてはどうか。

299 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 15:48:11 ]
WIN32アプリケーションで、
マルチディスプレイでプログラムをフルスクリーン表示にしている時に、
セカンダリ画面でクリックなどするとプログラムが最小化してしまいます。
この最小化を抑制する方法があるみたいなのですが、どうすれば可能なのでしょうか。

300 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 15:49:18 ]
最小化するか?

301 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 16:00:44 ]
はい、Winキーを押した時の様になります。

302 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 17:08:08 ]
それはお前の作ったプログラムでしか起きない問題なのか?
要するにお前が作ったプログラムに原因があるのか、
それとも元々OSがそういう仕様なのかぐらいはっきりしろ。

303 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 17:48:41 ]
元々OSがそういう仕様なのだと思います。
大抵の古いWIN32アプリでフルスクリーン時は大抵そうなってしまってます。
最近はそれに対処しているプログラムがあって、
それをどうやってるのかなと質問させて頂きました。

304 名前:デフォルトの名無しさん [2009/04/21(火) 17:55:39 ]
Visual Studio 6.0を使ってC言語+MySQLのアプリを作りたいのですが、
[ツール]→[オプション]で
ライブラリパスにC:\Program Files\MySQL\MySQL Server 5.1\lib\opt
インクルードパスにC:\Program Files\MySQL\MySQL Server 5.1\include
を設定し、
#include "mysql.h"をしてコンパイルするとMySQLのヘッダファイルでエラーが出まくります。
プロジェクトの設定が悪いのでしょうか?


305 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 18:02:00 ]
どういうエラーよ



306 名前:304 [2009/04/21(火) 18:06:41 ]
>>305
すみません。
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(243) : error C2061: 構文エラー : 識別子 'SOCKET' がシンタックスエラーを起こしました。
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(280) : error C2059: 構文エラー : '}'
c:\program files\mysql\mysql server 5.1\include\mysql_com.h(394) : error C2143: 構文エラー : ')' が '*' の前に必要です。
等です。
ttp://www13.plala.or.jp/kmaeda/winc/sqlset.htm
↑ここを参考にしました。

307 名前:304 [2009/04/21(火) 18:23:26 ]
すいません!自己解決しました。
#include <winsock.h>をしたらエラーが出なくなりました。
ここでwinsockが出てくるとは…。

308 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 18:49:05 ]
ああ、そういえばmysql.h見てて書こうと思ってて他の作業入ってて書きそびれたわ
mysql.h をinclude するまえにwindows.hをincludeしては、と書こうとしてた。

309 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 03:23:27 ]
Visual Studio C++ 2008で

#include <boost/random.hpp>
を使いたいんですけどこれはブーストをダウンロードした後どうすればいいのですか?

310 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 03:31:34 ]
>>309
今ダウンロードしたやつは忘れて、こっちのインストーラ版をダウンロードする。
www.boostpro.com/download

最も、VC++ 2008ならSP1当てれば#include <random>で
名前空間std::tr1にほぼ同じものが存在する。

311 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 03:39:06 ]
>>310
ご親切にありがとうございます。
なるほどー
SP1当ててないのでダウンロードしてみます。
インストール後はもう#include <boost/random.hpp>を使える状態になるのですか?

今環境がないため試せないんです;

312 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 10:44:38 ]
インクルードディレクトリの設定やったことないのか?
インストーラーがやってくれるならそのままでいいし、ダメなら自分で設定すればいいだけ

313 名前:デフォルトの名無しさん [2009/04/25(土) 00:03:11 ]
すみません。一般的に画像を保存する際、.bmp形式より.jpg形式の方が画像サイズが小さくなります。
今度作成しようとおもっているのは、Alt+Prt Scキーにより、クリップボードにコピーされた
アクティブな画面キャプチャを.jpg形式のファイルで保存しようとおもうんですが、
私のアルゴリズム?では、bmp形式のサイズで保存されてしまうのが予想されます。

私のアルゴリズムは以下です。
1.クリップボードの画像データをビットマップオブジェクトにコピーし、ファイルを保存する。
2.ファイル名の拡張子を.jpgに変換する。
以上です。

以前、Alt+Prt Scキーで取得した画面キャプチャ画像をアクセサリのペイントに貼り付けてjpegファイルに変換しても
画像サイズが変わらなかったので、上に書いたアルゴリズムでは同様のことになってしまうと思います。

jpegファイルの軽さで最初からファイルを保存するようにするにはどうしたらいいでしょうか?

画像関係のソフト制作、VC++は不慣れなものですので、すみませんが教えてください。よろしくお願いします。


314 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 00:11:29 ]
>>313
GDI+

315 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 00:19:46 ]
Express以外を使っているなら、ATL::CImageもおすすめ。



316 名前:413 mailto:sage [2009/04/25(土) 00:52:22 ]
>>314さん、>>315さん。

どうもありがとうございます。教えていただいた、
キーワードでググってやってみようと思います。ちなみに
MFCですので。。

コンビニいって、立ち読みしてたので、お礼が遅くなりました。すみません。

317 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 07:30:44 ]
とりあえずファイルの拡張子変えただけじゃjpgにはならんよ…

318 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 08:20:10 ]
>>317
俺も最初の頃は
xxx.jpg.bmp
なんてファイルがあったな

319 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 12:30:50 ]
いい例えが思いつかなくて放置してたんだけど
昼飯食ってたらとたんに思いついた

アナログテレビにペンで 「デジタル」 って書くだけじゃ地デジは映らないよ!

320 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 10:19:59 ]
ペイントブラシは拡張子変えるだけでファイルフォーマットも変えるからなあw

321 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 10:21:03 ]
ペイントブラシじゃなくてペイントか

322 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 13:35:30 ]
いきなりですが、質問させてください。

VC++2008 ExpressEditionで、windowsアプリケーションを作成しようとしています。
CreateWindow関数の引数が多く、横に書いていくと見にくいので、途中で改行をしました。
すると、それ以後、コンマを入力するとエラー音(プンッというような音)が鳴ります。

これはどういった問題が起きているのでしょうか。
分かる方、どなたか教えていただけるとありがたいです。

323 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 02:18:15 ]
すみません。物凄く素人な質問で恐縮なのですが。
ボタンを沢山配置したときに、リソース上で整列させたいのですが、
元々ダイアログに表示されている、ボタン位置の調整が出来る青い枠は
増やせないのでしょうか……?

リソース上で座標だけ見てボタンの微調整をするのはかなり苦痛です。
宜しくお願いします……!

324 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 02:36:30 ]
どのリソースエディタかしらないけどコントロールの整列ボタンとかないの?
rcをテキストエディタで開いてみると
DEFPUSHBUTTON "OK", IDOK, 129, 7, 50, 14, BS_DEFPUSHBUTTON
PUSHBUTTON "キャンセル", IDCANCEL, 129, 24, 50, 14, BS_PUSHBUTTON
こんな感じになってるから手入力でやってもたいした労力じゃないかもしれないよ

325 名前:323 mailto:sage [2009/04/27(月) 02:46:51 ]
>324さま
使用しているのはVisualStudio2008のリソースエディタです。
複数ボタンを選択した後に右クリックして、左揃え上揃えがあるのを確認しました。
早とちりしてすみません(汗)
微調整は324さまの仰られた通り、テキストエディタで編集する事にします。
ありがとうございました。



326 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 03:01:17 ]
>>325
騙されたと思って、ダイアログエディタのガイドをクリックしてみろ。

327 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:26:44 ]
先日からVC++2008を使い始めましたが、基本的な操作方法が分かりません。
ライブラリを追加するのはどこからやればいいのでしょうか?
2005ではプロジェクト→設定…とやっていたのですが。
プログラム自体初心者なのですが回答お願いします。

328 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:55:09 ]
プロジェクト→設定…とやればいい

329 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 20:56:30 ]
プロジェクト→プロパティだった

330 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:29:50 ]
>>327
>プログラム自体初心者なのですが回答お願いします。
こういうの要らないだろ。
どうしてこういうの付けてくるヤツって耐えないんだろう。

…でもまあスレタイ的には今回は例外的に問題無いのか。

331 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:42:09 ]
>>327
それくらい2005とろくに変わっていないだろ。

332 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 21:47:05 ]
図解つきのマニュアルで1ステップずつ解説みないと使えないレベルなんじゃないか?

333 名前:323 mailto:sage [2009/04/28(火) 01:45:05 ]
>>326さま
位置調整用の青点線増えました。助かりました。ありがとう。

334 名前:327 mailto:sage [2009/04/28(火) 10:48:06 ]
プロジェクト→プロパティと開いたのですが、その後の項目で何を選べばいいのか分かりません。
2005ではリンクからライブラリの一覧が見れましたが、2008でリンカを選んでもそれらしい項目がありません。
他の項目も見ましたが、どこから追加すればいいのか分かりませんでした。
詳しく教えていただけないでしょうか。

335 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 10:53:59 ]
詳しくも何もヘルプに書いてあるだろ。探せなきゃ「リンカ入力としての .lib ファイル」でググれ



336 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 11:02:00 ]
>2005ではリンクからライブラリの一覧

これ、何のこと言ってる?
もしかしてC++/CLIか?

337 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 17:44:18 ]
VC++用のXML SDKってどこからダウンロードすればいいでしょうか?


338 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 18:12:08 ]
>>337
www.microsoft.com/downloads/details.aspx?FamilyID=AD0B72FB-4A1D-4C52-BDB5-7DD7E816D046&displaylang=ja

339 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 18:18:04 ]
>>338
さんくっす

340 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 23:01:53 ]
>>337
一応、VC付属のSDK・MSDNライブラリにもMSXML関連のものは入っていたはず。
望みのバージョンのものかどうかはともかく。

341 名前:デフォルトの名無しさん [2009/05/01(金) 15:15:49 ]
MFCやWin32APIでつかうGDI+について、書かれてる本ってないですか?割とくわしめに書いてある本。。

洋書でもいいです。近くの大本屋4件くらいまわってもなかったもんで・・
もしあれば、Amazonで買おうと思います。

342 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 15:50:48 ]
またお前か

343 名前:デフォルトの名無しさん [2009/05/01(金) 21:04:33 ]
すみません。IEの現在表示してるアドレスを取得する事って可能ですか?

vcだけじゃ無理で、IEのSDKとかつかうんですかね・・

344 名前:343 [2009/05/01(金) 21:10:14 ]
事故解決しました。ググッたら色々でてきました。うへぇ〜。

345 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 21:14:16 ]
この辺見ればできると思う
www.nitoyon.com/vc/tips/ie_component.htm




346 名前:344 mailto:sage [2009/05/01(金) 21:18:50 ]
>>345
どうもありがとうございます><;そこは詳しく載ってますね><;

私がググって見つけたページよりも実践的なサンプルが載っています。

連休中にタスクバーに常駐するお気に入り管理ツールを作ろうと思いまして・・

ブラウザのお気に入り機能って使いにくいですよね><;

347 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 06:20:13 ]
StretchDIBitsとStretchBltの違いってなんですか?
メモリ上がなんとかとなってるんですが意味がわかりません

348 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 08:43:10 ]
>>347
StretchBlt: コピー元がHDC
StretchDIBits: コピー元がBITMAPINFO/void*

349 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 17:48:53 ]
main()関数のソースファイルが、同じソリューションかつプロジェクト内の他の
ソースファイルにリンクできてないようで、ビルドするとリンクエラーが出ます。
error LNK 2001:外部シンボル 〜〜〜〜 は未解決です。
fatal error LINK1120: 外部参照4が未解決です。
のメッセージが出ます。
正しくリンクできるように設定するにはどうするんでしょうか。
Visual Studio .NET 2003 Professional
作成したプロジェクトは Visual C++ プロジェクトの「コンソールアプリケーション(.NET)」です。


350 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 18:33:04 ]
インクルードしてないとかいう落ちだろ

351 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 18:45:13 ]
CLRならC++のみだし、、、Cリンケージの問題でもなさそうか?
参照設定してないとかいう落ちとか

352 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:14:17 ]
原因わかった。ファイルは実はリンクできてた。
vectorコンテナを使ってる箇所を直す必要がある。
前に単一のソースに書いてBorland C++ Compilerで正常にコンパイル成功
していたプログラムを拡張しようとしたが、他のファイルで定義したクラスの
変数宣言は問題無いが、
std::vector<class fileman> fman_databox1;
で定義して
fsize1 = fman_databox1[n1].getfsize();
のように、vectorコンテナに添え字演算子で要素を取り出したものから、
メンバー関数を使おうとする箇所があるとエラーが出るということがわかった。


353 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:19:11 ]
fatal error

実はリンクできてた

直す必要がある

分裂症ですか?

354 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 19:44:27 ]
一度ポインターにアドレスを代入してからメンバー関数を呼ぶように変更しよう
としたけど、そうやってもエラーになった。
IDEはちゃんとリスト選択が出てくるのに。
inlineを取ればリンクできた。
そんなことがあるのか、何でインライン関数にすればエラーになるんだ。

355 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 20:02:26 ]
インライン関数の展開って、コンパイル時に行われるからじゃないのか?



356 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:31:41 ]
テンプレートクラスで静的メンバ変数を使おうとすると、
>LNK2019: 未解決の外部シンボル
のエラーが出るのですが、どういった風に解決するのが一番でしょうか。

357 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:36:02 ]
テンプレートなのに何で静的なんだよ

358 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:43:27 ]
クラスごとにインスタンス数を数えたいのですが、
CountingObject : BasicCounting< CountingObject >と継承して、
BasicCountingのコンストラクタ、デストラクタでBasicCounting::countの値を増減しようと考えています。

テンプレートクラスで静的メンバ変数というのは、おかしいのですか?

359 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:48:51 ]
そんなくだらない話はC++スレでやれ

360 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 11:42:04 ]
>>356
クラステンプレートでないクラスの場合と同じで、変数の定義が必要。
class Foo
{
static int Hoge;
};
int Foo::Hoge;

tempate<typename T>
class Bar
{
static int Hoge;
};
template<typename T>
int Bar<T>::Hoge;
なお、クラステンプレートの静的変数は実体化させる必要があるので、
クラステンプレートのメンバ関数などと同様、通常はヘッダに定義を書く。

361 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:56:35 ]
コンパイル時にエラーがあるとVSでエラー箇所教えてくれるしエラーメッセージも出るからアサートって書く必要ないですよね


362 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 12:59:30 ]
構文エラー等ならコンパイル時にエラーになるが、0 division 等はエラーにならない。
よってアサートは必要。

363 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:11:44 ]
コンパイルエラーが出るうちはデバッグは楽だ。
実行時エラーになるととたんに対処が面倒になる。

364 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:34:07 ]
コンパイルエラーとアサートと同次元で語るやつが理解できない。

365 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 13:43:28 ]
>>364
まあまあ、ココは初心者スレだからいいじゃないか。



366 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 19:16:07 ]
実行時エラーと言いたかったんじゃないかなあ

367 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:03:49 ]
それは違くね?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<221KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef