errata: > (void (*)(char **))foo((char **)&str); ((void (*)(char **))foo)((char **)&str); > (void (*)(const char **))foo((const char **)&str); ((void (*)(const char **))foo)((const char **)&str); -- Takuya SHIOZAKI