Это предупреждение указывает на то, что использование расширения GNU gcc является серьезной проблемой переносимости.
Код недопустим, поскольку значение strlen (s) не известно во время компиляции.GNU gcc предоставляет расширение для автоматических массивов, которые выделяются на основе значений времени выполнения;но их использование делает код несоответствующим стандарту.
Если значение strlen (s) неизвестно до времени выполнения, тогда можно привести код в соответствие, либо выполнив преобразование в выполнениевыделение / освобождение явно в массивах соглашений или с использованием контейнеров STL (например, std :: vector).