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 );
しかし、最後の2行の両方でエラーが発生し、次のようになります。
オーバーロードされた関数「myClass::myClass」のどのインスタンスが意図されているかを判別できません
ラインのために
myClass::myClass auM ( test );
myClass::myClass buM ( test );
と
非静的メンバー参照は、特定のオブジェクトに関連している必要があります
ラインのために
myClass::initClass ( img, img, auM, buM );
検索して、クラス定義に関連するものであることがわかりましたが、解決できませんでした。誰かが私を助けてもらえますか?