Попытка следовать примеру, показанному в этой статье, я разработал следующий класс: < /p>
bridge.h: < /p>
class Bridge {
public:
IfFrameSender *pFrmSender;
std::string senderName;
...
Bridge(cfg_settings cfg_sett);
void saveFrame(cv::Mat &cvFrm, uint XOff, uint YOff);
...
}
< /code>
В частности, pfrmsender - это указатель на виртуальный класс, ifframesdend.Bridge::Bridge(cfg_settings cfg_sett)
{
...
/* Instantiates a sender_by_socket object using a factory */
IfFrameSender *pFrmSender = FrameSenderFactory::Get()->CreateFrameSender("FrameSenderBySocket");
...
}
< /code>
и метод: < /p>
void Bridge::saveFrame(cv::Mat &cvFrm, uint XOff, uint YOff)
{
...
pFrmSender->sendFrame(...);
...
}
< /code>
Ну, я получаю ошибку SEG, когда пытаюсь вызвать Pfrmsender. Я сделал немного отладки, и я обнаружил, что в методе SaveFrame :: SaveFrame, что участник имеет неверный адрес памяти (CCCCCCC), в то время как в конструкторе он правильно уступил, я напечатал его адрес памяти, и он кажется последовательным. Где я ошибаюсь?
Подробнее здесь: https://stackoverflow.com/questions/240 ... ect-member
SEG ошибка, пытаясь получить доступ к элементу объекта ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение