我正在编写排序可视化。我希望它在算法运行时处理事件和更新屏幕。我有一个具有 SortContext 属性的 Controller 类。我希望 SortContext 的排序方法引用控制器,以便它可以使用方法update,isAppRunning但出现错误:
控制器尚未声明
我怎样才能让它工作?
控制器.hpp
class Controller {
private:
SortContext context;
View view;
std::vector<Sortable> data;
bool algorithmRunning = false;
void handleEvents();
public:
Controller();
void update();
bool isAppRunning();
};
Run Code Online (Sandbox Code Playgroud)
排序上下文.hpp
class SortContext {
private:
std::unique_ptr<SortStrategy> strategy;
static const std::vector<std::function<std::unique_ptr<SortStrategy>(void)>> algorithms;
public:
void chooseStrategy(int algorithmId);
void sort(std::vector<Sortable> &data, Controller &controller);
};
Run Code Online (Sandbox Code Playgroud) c++ ×1