これは機能します:
shared_ptr<ofxDTangibleBase> sp(new ofxDTangibleBase(colorBlob, "ofxDTangibleBase", detectColor, workImg));
しかし、make_shared でそれを行う場合:
shared_ptr<ofxDTangibleBase> sp = make_shared<ofxDTangibleBase>(colorBlob, "ofxDTangibleBase", detectColor, workImg);
「ofxDTangibleBase」は値を参照していません」というメッセージが表示されます。修正方法を探しましたが、多くのパラメーターが必要になるなどの問題を抱えている人が見つかりました。
私は何かを見落としていますか?
編集:
コンストラクタは次のようになります。
ofxDTangibleBase(const ofxCvBlob& base, const char *className, ofxDDetectColor *detectColor, const ofxCvGrayscaleImage *thresholdImage) : ofxCvBlob(base) {
そして、クラスは別のクラスを拡張します:
class ofxDTangibleBase : public ofxCvBlob {