Я вообще не гуру C++, и я попытался воспроизвести эту ошибку в нескольких процедурах. дело в том, что когда я делаю небольшую программу с 2 o 3 классами, что я хочу делать, ошибки нет. но в основном приложении я пытаюсь написать ошибку, даже если я пробовал много (даже бессмысленных) решений.странная ошибка при прохождении указателей (* &) в конструкторе
проблема заключается в том, что у меня есть основной класс, который создает некоторые ресурсы (в качестве указателей) и шаблон стратегии, который определяет различные конкретные поведения, которые принимают в конструкции ресурсы thoose.
в главном приложении, 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&)
а ?? hei, что происходит? Я прохожу указатели, а не * & (что я не знаю, как читать)
какой-нибудь совет?
я пытался повторить ошибку с простым случаем основывается только на couts но нет никаких проблем, так mayebe есть некоторые ошибки скрыты somewhereelse ..
Код, который вы показываете нам, показывает конструктор с двумя аргументами; в сообщении об ошибке говорится, что существует три аргумента и один аргумент. Что-то здесь не так, может быть, вы могли бы показать нам настоящий код? –
Не существует конструктора, который принимает два аргумента. – hmjd
Возможно ли, что вы включаете заголовок, содержащий другую версию 'UserPositionBehaviour', чем та, которую вы ожидаете? – molbdnilo