Я хочу вызвать некоторый код в моем конструкторе
connect(self() , 0 , filter , 0);
connect(filter , 0 , self() , 0);
Но я получаю исключение
Завершить вызов после выброса экземпляра 'boost :: exception_detail :: clone_impl>'
Я делаю следующее
my_filter::sptr
my_filter::make(unsigned int interpolation,
unsigned int decimation) {
auto ptr = gnuradio::get_initial_sptr(new my_filter
(interpolation, decimation));
ptr->wire();
return ptr;
}
И метод провода
void my_filter::wire() {
connect(self(), 0, resampler, 0);
connect(resampler, 0, self(), 0);
}
Но я получаю ошибку
Terminate called after throwing an instance of 'std::invalid_argument'
what(): sptr_magic: invalid pointer!
what(): tr1::bad_weak_ptr
Как яможно улучшить это?