たちばなまさしです。
>えっと、勘違いでなければ、元の話は自己書き換えの話では無かったような。
>単に、ある変数に関数へのポインタを格納してという話でしたよね。
ごめんなさい。そうですね。バカでした。
「関数へのポインタ」が常に static になっているような幻想を
捨てきれていませんでした。朝の段階では。
たとえば
char *to_eucjp(char *str1, char *str2);
char *to_sjis(char *str1, char *str2);
char *a;
a = to_eucjp;
a(str1, str2);
a = to_sjis;
a(str1, str2);
のように、ポインタ型の変数を関数に見立てるっていうことですね?
>dos_to_unix()
>{
> switch(hoge) {
> case hoge: sjis_to_euc();
> case hoge: sjis_to_hex();
> case hoge: sjis_to_cap();
> }
>}
>
>ってやるだけでもコーディングはすっきりしますが。
「関数へのポインタ」を配列にする、というのはどうでしょう?
---------------------------------
たちばなまさし
橘 昌志
moomin@happymusic.com
---------------------------------