Скрипачпророк (20.10.2013 15:14, просмотров: 60) ответил Скрипач на На примере видно, что заложенная в библиотеке виртуальность метода run не выстреливает.
Приведение типов без "выпендрежа":
Complex_Proc::run(){
do{ Rarely_needed_Proc c = new Rarely_needed_Proc;
if(!c){ PT_YIELD(); continue; };
rn = c;
c->a = "a";
}while(0);
PT_WAIT_THREAD(*rn);
rc = rn->rc; // Перед освобождением памяти скопировали результат
delete rn;
};
... но не любой ценой.