我在“first.h”中声明了我的班级如下:
class MyClass
{
public:
MyClass ( cv::Mat& _model ) : tmpM ( _model )
{
};
private:
cv::Mat& tmpM;
}
然后在“first.cpp”中,我这样使用它:
MyClass::tmpM ( cv::Mat& _model )
{
...
}
然后我将这个“first.h”包含在我的“second.h”中,并将这个“second.h”包含在我的“third.h”中,然后在我的“third.cpp”中我尝试这样做:
cv::Mat testMat ( height, width, CV_8UC3 );
tmpM myM ( testMat );
然后我收到错误消息:
'MyClass::tmpM':不是函数
错误 C2512:“MyClass”:没有合适的默认构造函数可用
IntelliSense:声明与“cv::Mat& MyClass::tmpM”不兼容
IntelliSense:缺少显式类型(假定为“int”)
在你问之前,我不得不说我确实搜索并询问过这个问题,但仍然无法解决。我是一个学习者,所以有人可以帮助我解决这个问题吗?谢谢你。