如何从我制作的库中调用 main.cpp 中的函数?

问题描述

所以我为我的游戏引擎制作了一个小库(未完成)。在主要我包括图书馆 在库中,我有一个“Engine”类,它保存有关窗口、操作系统、设置等的信息。在那个类中,我想在 main.cpp 中调用“update(delta)”一段时间(真) 这可能吗?

这是课程:

class Engine {
    Time delta;
    bool run = true;
public:
    Engine(std::function<bool(float)> _update) {
        while (run) {
            run = _update(delta.get_call_time());
        }
    }
};

这就是我在 main 中的调用

Engine engine(_update);

解决方法

有很多方法可以做到这一点,但我认为最流行的一种是使用 std::function 使用回调:

class Engine {
    Delta delta = clock();

public:
    Engine(Vector2 window_size,std::function<void(Delta)> update) {
        update(delta)
    }
};