重複の可能性: (非const
へのポインターへのポインター) を (const へのポインターへのポインター) に変換することが合法ではない理由
期待するg_key_file_set_string_listgchar**
に a を渡していますconst gchar * const identifier []
/* this function is part of the GLib library */
void g_key_file_set_string_list(GKeyFile *key_file,
const gchar *group_name,
const gchar *key,
const gchar * const list[],
gsize length);
const gchar **terms = malloc(sizeof(gchar*) * count);
...
...
g_key_file_set_string_list(<something>, <something>, <something>,
terms, count);
オプションを指定したGCC 4.7.1では、-std=c99 -pedantic
これが得られます
警告: 'g_key_file_set_string_list' の引数 4 を互換性のないポインター型から渡しています
注: 'const gchar * const*' が必要ですが、引数の型は 'gchar **' です
私の知る限り、C と C++ の両方で、非 const から const への変換は暗黙的です。これが、標準関数strcpy
が const 引数を取るのが好きな理由です。じゃあここじゃないの?