На Visual C++ начал программировать недавно. До этого — только на Борланд С.
Возникла проблема с порчей данных в стеке.
[bДано:[/b]
Метод класса диалогового окна. разбирает строку символов, формирует из каждой пары символов один байт, потом из этих байт — новую цепочку и посылает её в USB-устройство. Для манипуляций с символами в теле метода объявлено три локальных типа char. Работает, но Трабл:
При выходе их метода возникает ошибка: Runtime check failure #2 — stack around the variable <имя переменной> was corrupted.
Программируя в BC++B с таким не сталкивался, что делать понять не могу, т.к. не ясна причина порчи стэка.
Пытался объявить переменные как char* и выделять/освобождать память напрямую с помощью malloc/free — та же история.
Ошибка исчезает, если объявить эти три переменные как члены класса, но делать этого не хочется.
В чём же ошибка и как её исправить?