我不是一个C++大师,我试图在variuos小试验中复制这个错误。事实是,当我用2 o 3班的一个小程序做我想做的事时,没有错误。但在主要应用程序中,即使我尝试了很多(甚至是无稽之谈)解决方案,我仍然努力写出错误依然存在。构造函数中传递指针(*&)的奇怪错误
问题是,我有一个主类实例化一些资源(作为指针)和战略模式,它们将构造函数资源中的不同具体行为分开。
在主应用程序,初始化():
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但有没有问题,所以mayebe有一些错误隐藏somewhereelse ..
您向我们展示的代码显示了双参数构造函数;错误信息表示有三个参数和一个参数。有些东西不对 - 也许你可以告诉我们真实的代码? –
似乎没有接受两个参数的构造函数。 – hmjd
是否有可能包含某个包含不同版本的UserPositionBehaviour的标题而不是您期望的标题? – molbdnilo