(Sample::*hito_func[HITO_KAZU])(void);};上記のようなコードを使っていますが、何か問題がありそうでこのままでいいのかと思い質問させてもらいましたコンパイラによってenumの左からの値が違うとかあるんですかね。それと可読性としてはどうなんでしょうか。自分もまだ勉強中なのですが初心者は普通じゃないコンパイラには手を出さないと思います。経験者であれば自分のコンパイラが他とは違い、最初の値を0に置き換える必要があることもわかっているはずだと思います。7年前enumの定数名(列挙子名)を配列のインデックスに使おう、というのが、そもそもenumの考え方と食い違っています。enumは本来、特定の整数とは結びつかない定数名を作るものです。enumと整数型の相互変換をしようとする時点で、enumの概念から外れているのです。その上であえてenumを配列のインデックスにすることを考えます。なることは規格で保証されています。使って値を指定できます。enumの一番右の列挙子名を、列挙子の数を表すと思って良いのかという議論ですが、明示的に値を与えない場合はOKでしょう。以下のコードは当然だめですね。(Sample::*hito_func[HITO_KAZU])(void);};人は3人ですけれども、HITO_KAZUは101になってしまいます。このような明示的な値の割り当てを行わない限り、enumの一番右に「ダミー」の列挙子を置くのはそれほど悪い考えではないと、僕は思います。ミクプラは自由にリンクできます。