我试图在很长一段时间内完成我的第一次编译,我认为这是最后一个障碍。
我正在尝试在我的设计中创建这种类型的层次结构。
class chin_
{
private:
charon_* engine;
public:
chin_();
chin_(charon_ &handle)
{
engine = handle;
}
~chin_();
};
//////////////
class charon_ {
private:
chin_ engine_input;
public:
charon_(){
engine_input = chin_(this);
}
~charon_();
};
我收到错误消息,告诉我没有可调用的匹配函数
'chio::chin_::chin()'
它还说,请注意,这只是当我将构造函数更改为 charon_&
public:
chin_(const charon_ &handle)
{
engine = handle;
}
sys/../headers/chio.h:104:5: note: no known conversion for argument 1 from ‘charon::charon_* const’ to ‘const charon::charon_&’
当我使用 * 而不是 & 时,我得到了这个,这更令人困惑。
sys/../headers/chio.h:104:5: note: chio::chin_::chin_(const charon::charon_*)
sys/../headers/chio.h:104:5: note: candidate expects 1 argument, 0 provided
我已经尝试过这个和那个,我认为这可能是超级简单的事情。我已经尝试将我的代码与我找到的示例完全匹配,所以我不知道我还应该尝试什么,我希望能够自己解决这类问题。我只是没有运气。
编辑:我更新了代码,但我将更新后的错误留在了底部。
sys/chin.cpp:19:14: error: cannot convert ‘charon::charon_’ to ‘charon::charon_*’ in assignment
它带我进入这段代码
chin_::chin_(charon_ &handle) {
engine = handle;
}
引擎定义为 charon_* 引擎;并且句柄似乎是一个地址,应该就位,但事实并非如此。我想我没有正确使用它。