LINUX.ORG.RU

История изменений

Исправление slovazap, (текущая версия) :

На каком стеке?

На обычном стеке, на котором выделяются локальные переменные. К моменту вызова слота твоей переменной уже давно не существует и ты пытаешься менять память где уже лежат другие данные. Если бы у тебя это получилось. Помимо этого никаких 99, 98 ты не получишь, потому ты меняешь не Cells которую инициализировал сотней, а локальную переменную слота, т.е. всегда было бы 99. Наверное ты хотел передавать Cells по ссылке.

А вообще в таких случаях Cells делают членом класса, меняют напрямую из слота и никуда не передают, и никаких лямбд не надо. KISS, особенно когда языка не знаешь.

Исходная версия slovazap, :

На каком стеке?

На обычном стеке, на котором выделяются локальные переменные. К моменту вызова слота твоей переменной уже давно не существует и ты пытаешься менять память где может быть что угодно. Потом, даже если не это никаких 99, 98 ты не получишь, потому что Cells ты не меняешь, а меняешь локальную переменную слота, т.е. всегда было бы 99. Наверное ты хотел передавать переменную по ссылке.

А вообще в таких случаях Cells делают членом класса, меняют напрямую из слота и никуда не передают, и никаких лямбд не надо. KISS, особенно когда языка не знаешь.