class A
{
public:
virtual ~A() {}
virtual Process(cv::Mat& img) {}
} ;
class B : public A
{
public:
Process(cv::Mat& inputimage)
{
if (img.empty())
{
img = inputimage.clone();
return;
}
else
cv::imshow ("image", img);
}
private:
cv::Mat img;
};
遇到条件时,此 img 始终为空。我在我的主要使用此代码的方式是:
伪代码
int main ()`
{
A* a;
a = new B;
while(avi.notempty()
{
a.Process(nextFrame);
}
}
代码不完整,但本质上问题是变量没有以某种方式存储。