C++相談室 part35
■ このスレッドは過去ログ倉庫に格納されています
0335デフォルトの名無しさん
NGNG> const void (Hoge::*HOGEP[10])()
HOGEP は
Hoge クラスのメンバ関数へのポインタの配列で、
ポインタが指すメンバ関数の型は引数無し・戻り値 const void 型
(const は戻り値にかかってしまい HOGEP[0], HOGEP[1], ... は const ではない)
> void (Hoge::*const HOGEP[10])() = { Hoge::A, Hoge::B, ・・・};
Hoge クラスのメンバ関数への書き換え不可能なポインタの配列で
ポインタが指すメンバ関数の型は引数無し・戻り値 void 型
typedef で定義してるのと後者は同じ意味になる。前者は全然違う。
C/C++ の型定義は微妙に分かりづらいので、悩んだら素直に typedef
しとくのが吉だよ。
■ このスレッドは過去ログ倉庫に格納されています