Ваша проблема char buffer[70 + changeSexPrice];
.Компиляторам win32 требуется постоянное выражение при распределении стека.
Я не уверен, почему вы добавляете changeSexPrice, поскольку вы используете только буфер для печати int.Бьюсь об заклад, если вы выберете что-то вроде char buffer[1024]
, то вам будет более чем достаточно для ваших нужд.
РЕДАКТИРОВАТЬ: За комментарии (что очень хорошо).
Если вы используете буфер фиксированного размера len 1024, используйте snprintf.В случае Visual Studio это sprintf_s .Ваш код изменится на:
sprintf_s(buffer, 1024, "You don't have enough money ...", yourValueHere);
В качестве альтернативы, Отметка B представляет ответ , который также устраняет необходимость в вашем собственном распределении памяти.