Доброго времени суток всем!
Сделал такую штуку, объявил массив кнопок
C++ (Qt)
QMapButton *map[5][5];
где QMapPutton это наследник QPushButton'а, в котором добавлено пару новых переменных с интерфейсом для их использования.
в конструкторе задал ее как:
C++ (Qt)
for (int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
map[i][j] = new QMapButton(this,i,j); //i,j - используються внутри кнопки
map[i][j]->setPixmap(...);
//и .т.д.
}
}
и все вроде ровно, и кнопки рисуються и т.д. и т.п.
но! после события (от сети), когда необходимо считать значение из одной из переменных в нужной кнопке, происходит критический вылет (в данном случае в клетке 4,4), ставил 6х6, тогда вылетает 3,1...
прогнал отладчиком и что заметил, что да, при создании класса все ровно...
но после выхода из конструктора, указатель сбивается... т.е. он указывает туда же что и ранее, но программа во время работы пишет в эту область памяти, будто она и не зарезервирована за классом... что и приводит к тому, что по адресу ссылки лежит какой то мусор... отчего это происходит??? и почему только на 1й ссылке?... такое чуство что я не правильно создал массив кнопок (ранее такого не делал).. и по какой то причине new не блокирует область котрую я выделяю кнопкам...
может кто сказать в чем может быть косяк и как сделать это дело правильно?
// иногда сам указатель уже начинает указывать в пустоту...