Многопоточность и CreateThread
От: Аноним  
Дата: 11.11.08 10:56
Оценка:
Всем привет.

Народ вот с такой гадостью столкнулся. Смысл такой:

DWORD ThreadFun(void * arguments)
{
  cObject * s = (cObject *) arguments

  s->Method();

  while(SomeCondition) {
    ...
  }

  ExitThread(0);
  return 0;
}

int main()
{
  ...
  cObject object;
  cObject * o = & object;
  CreateThread(..., (LPTHREAD_START_ROUTINE) ThreadFun, s, ...);
  ...
}


Но весь ужас ситуации в том, что как только отрабатывает первая строчка внутри
s->Method();


Вызывается деструктор cObject и вылетает error, что std::bad_alloc in memory ... .
Что тут не так и как это убить ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.