Мне всегда казалось, что const char **x
был правильным типом для динамически распределенного массива константных строк, например:
#include <stdlib.h>
int main()
{
const char **arr = malloc(10 * sizeof(const char *));
const char *str = "Hello!";
arr[0] = str;
free(arr);
}
Однако при компиляции этого кода с VS2017 я получаю это предупреждение в строке free
:
warning C4090: 'function': different 'const' qualifiers
Что-то не так с моим кодом? FWIW, когда я компилирую с GCC, я не получаю никаких предупреждений даже с -Wall -Wextra -pedantic
.