[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 06/24 23:01 / Filesize : 15 KB / Number-of Response : 71
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

【初心者歓迎】C/C++室 Ver.53【環境依存OK】



1 名前:デフォルトの名無しさん [2008/04/24(木) 07:23:05 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.59【環境依存OK】(実質Ver.52)
pc11.2ch.net/test/read.cgi/tech/1206809426/
【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

58 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:32:33 ]
メンバ関数のポインタのとり方教えてください。
コメントの部分でエラーになってしまいます……。

class ca {
public:
int (*pa)();
int nasi(void);
ca(void);
}ca1;
int ca::nasi(void){return 0;}
ca::ca(void) {pa = nasi;} //コンパイルエラー

59 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:36:20 ]
>>58
www.google.com/search?q=%E3%83%A1%E3%83%B3%E3%83%90%E9%96%A2%E6%95%B0%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF&btnG=%E6%A4%9C%E7%B4%A2

60 名前:11 mailto:sage [2008/04/25(金) 00:36:57 ]
>>12 さん
なるほど。ありがとうございます!

61 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 00:42:52 ]
void

62 名前:58 mailto:sage [2008/04/25(金) 00:51:53 ]
>>59
ありがとうございます。おかげでできました。
これからはもう少し自分でも調べるようにします。

class ca {
public:
int (ca::*pa)();
int nasi(void);
ca(void);
}ca1;
int ca::nasi(void){return 0;}
ca::ca(void) {pa = &ca::nasi;}

63 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 02:53:11 ]
>>13
亀レスですまんけど、何故そういう書き方ができるか、というより
そういう書き方をする意味ならある。
確かそのようにニ重にテンプレート指定すると、
template <template <class> class T> class hoge{};
とした場合に、hogeのインスタンスを宣言するときに
hoge< fuga<monyu> > Hoge;
ではなく
hoge<fuga> Hoge;
で済むというメリットがあったと思う。
fugaもテンプレートクラスであるにも関わらず、fugaのテンプレート引数は
指定しなくていい(ただしデメリットもあったと思うけど)。
あまり覚えてないので大して助言できなくてスマン。

64 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 04:14:34 ]
補足。確か、そのような二重のテンプレートの場合
hogeクラスがmonyuの型を要求するような実体化を伴う場合、
(hogeクラスからfugaクラスのメンバ関数を呼ぶ場合でも。中でmonyuの型が必要なら)
実体化に失敗するんだったと思う。
その代わり、hogeクラスはfugaクラスのテンプレート引数に自由に型を
指定して利用することが出来る(もちろん文法が通る場合に限るが)。

65 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:06:36 ]
>>63,64
詳しい説明感謝です。
他スレでも聞いてしまってましたが、
そっちとはまた違った説明で、おかげで
かなり納得できました。

66 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:15:30 ]
>>65
すまん、そっちの説明どんなだったか教えて欲しいかもw
あんま使ったことない用法だから自信ないので・・



67 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:22:13 ]
ダイアログ1のOnInitDialogにダイアログ2を1の子としてCreate、ShowWindowするコードを追加したいのですが、ダイアログ2の変数の作り方がわかりません。
ダイアログ1のヘッダーに paintDlg2 m_dlgPaint; を記述しても

';' が、識別子 'm_dlgPaint' の前に必要です。

というコンパイルエラーがでます。
インクルードの順序は確認したのですがうまくいきません。
2008で自動で変数追加しようとしても変数の種類が選べなくてよくわからないんです。

68 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 06:17:50 ]
>>66
これですわ
pc11.2ch.net/test/read.cgi/tech/1205059063/667

69 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 06:25:20 ]
しかし
template <template <class> class T>
これ、関数ポインタと同じ様な書式で
template <class T<class> >
と書くほうが自然な感じがするのは自分だけ?

70 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 06:49:43 ]
>>68
thx。
しかし色んな書き方できるんだなぁ・・・






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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