Моего кода:Ошибка при освобождении буфера
wchar_t buffer[64];
wsprintf(buffer, L"%d, %d, %d", x, y, z);
SendMessage(hwndEdit, WM_SETTEXT, NULL, (LPARAM)buffer);
free(buffer); // <-- crashes
код работает отлично, когда НЕ освобождая буфер, однако падает, когда свободный (буфер) используются.
Эта линия необходима, если нет, то почему бы и нет? Разве нет необходимости освобождать память после ее использования?
Я вижу, поэтому, когда я должен освободить буфер? Как узнать, выделен ли буфер в стеке или нет? – ChaseTheSun
@ChaseTheSun посмотреть мой пост обновления? – taocp
@ChaseTheSun Если вы _explicitly_ выделяете буфер, например. 'malloc' или аналогичную функцию, тогда вам нужно освободить его. Переменные в стеке полностью обрабатываются компилятором. –