我仍在寻找解决C ++问题的方法。我有一个包含另一个类(不能从其继承)的实例成员的类,其中包括回调。我想将此回调注册到父类,但遇到困难。
经过一番摸索,我了解了方法!=函数,因为实例方法隐式地期望它自己的实例(我可以最好地描述它!),而class ChildClass
{
public:
std::function<int(int)> callback;
};
class MainClass
{
public:
ChildClass childClass;
MainClass()
{
this->childClass.callback = this->square;
}
private:
int square(int i)
{
return i * i;
}
};
是一个选择,但我不能当签名不是<a-asset-item id="whale">
时,可以使用此功能。
我还阅读了有关实现为接口的方法,类似于委托(我来自Swift背景),这也很有吸引力。
这是我要达到的目标的准系统版本:
id="whaleModel"
我知道类型不匹配是导致错误的原因,但我不知道如何让它们一起玩。