私はC++の第一人者ではありません。さまざまな小さな試行で、このエラーを再現しようとしました。事実、私がやりたいことで2 o 3クラスの小さなプログラムを実行しても、エラーは発生しません。しかし、メインのアプリケーションでは、多くの(ナンセンスな)解決策を試したとしても、エラーが続くように書き込もうとしています。
問題は、いくつかのリソースを(ポインターとして)インスタンス化するメインクラスと、コンストラクターがリソースを取り込むさまざまな具体的な動作をインスタンス化する戦略パターンがあることです。
メインアプリでは、init():
device = new Kinect();
controls = new Gui();
UserPositionBehaviour = new UserPositionBehaviour(device, controls);
そして、振る舞いコンストラクター:
UserPositionBehaviour(Kinect * device, Gui * controls);
これはエラーです:
src/App.cpp:30: error: no matching function for call to ‘UserPositionBehaviour::UserPositionBehaviour(Kinect*&, ofTrueTypeFont*&, ofxGui*&)’
src/UserPositionBehaviour.h:15: note: candidates are: UserPositionBehaviour::UserPositionBehaviour(Kinect*, ofxGui*, ofTrueTypeFont*)
src/UserPositionBehaviour.h:13: note: UserPositionBehaviour::UserPositionBehaviour(const UserPositionBehaviour&)
え?ヘイ、何が起こっているの?*&ではなくポインタを渡しています(イベントの読み方がわかりません)
いくつかのアドバイス?
私はcoutsのみに基づいた単純なケースでエラーを再現しようとしましたが、問題はないので、どこかに隠されたエラーがあるかもしれません。