【发布时间】:2017-07-07 04:44:40
【问题描述】:
我有一个实体类来处理实体的选择。在这个类中,我有一个函数向量,它传递给 UI 以呈现到下拉菜单中。我希望能够在我的类中创建继承实体但将这些函数从实体传递到 UI 的函数。关于我将如何做到这一点的任何想法?
我做了什么?
我向实体添加了一个受保护的向量:
std::vector<void (*)()> dropDownFunctions;
UI 的功能:
void renderDropDown(std::vector<void(*)()> dropDownFunctions);
这是那个函数:
private:
void calculateFOV();
然后尝试修改继承实体的类中的向量:
dropDownFunctions.push_back(&PlayableCharacter::calculateFOV);
我得到错误:
no instance of overloaded function "std::vector<_Ty, _Alloc>::push_back [with _Ty=void (*)(), _Alloc=std::allocator<void (*)()>]" matches the argument list
【问题讨论】:
-
你做了什么?请向我们展示您的尝试。
-
代码说一千多张图片。请尝试创建Minimal, Complete, and Verifiable Example 并展示给我们。
-
我已经添加了我的尝试
-
calculateFOV的类型是什么?
-
现在将其添加到问题中。
标签: c++ function inheritance