コードスニペットでポインターの配列を定義する際に問題がありconst void *ます-VisualC++は、私が試した組み合わせについて文句を言います:
void *call_func_cdecl(void *func, const void *const *args, int nargs);
void vlogprintf(const char *format, va_list va) {
int nargs;
void **args;
args = malloc(...);
args[0] = format;
// fill the rest...
call_func_cdecl((void*)logprintf, args, nargs);
free(args);
}
ご存知freeのvoid *ように、配列自体は一定ではありませんが、その要素formatはaconst void *であり、の要素である必要がありargsます。
これまで私はこれらを試しました:
const void **argsラインに着き
warning C4090: 'function' : different 'const' qualifiersましたfree(args)void const **args同上
void *const *argsラインに着き
error C2166: l-value specifies const objectましたargs[0] = formatvoid **const args同上