在 c++ 中(使用 openCV),我在头文件中定义了我的调用,如下所示:
class myClass
{
public:
myClass ( cv::Mat& _mat );
void initClass ( cv::Mat& img, cv::Mat& mask, myClass& src, myClass& dst );
}
然后在相应的“cpp”文件中,我这样定义:
myClass::myClass ( cv::Mat& _mat )
{
model = _model;
....
}
void myClass::initClass ( cv::Mat& img, cv::Mat& mask, myClass& src, myClass& dst )
{
//some work here
}
然后我将它的头文件包含在“main.cpp”中,并尝试这样调用它:
cv::Mat test ( height, width, CV_8UC3 );
cv::Mat test2 ( height, width, CV_8UC3 );
myClass::myClass auM ( test );
myClass::myClass buM ( test );
myClass::initClass ( img, img, auM, buM );
但它在最后两行都给出了错误,说:
无法确定要使用哪个重载函数“myClass::myClass”实例
对于线
myClass::myClass auM ( test );
myClass::myClass buM ( test );
和
非静态成员引用必须相对于特定对象
为线
myClass::initClass ( img, img, auM, buM );
我搜索并发现它与我的类定义有关,但我无法解决它。有人可以帮助我吗?