[我在c ++ sfml中获得了一条蛇代码。在这里我有2个对象Snake和Food,我还有一个main()
,其中包含Windows的sfml设置。我只想制作3个从main调用的对象,但它会导致循环引用并且无法编译。
我想拥有的是(或与下面的想法相似的东西。
int main
{
Food food(window);
Snake snake(window, food);
Window window(snake, food);
window.start();
}
需要参考其窗口的“蛇气法”绘图(对于绘图,因为绘图需要窗口句柄),而更新也需要窗口(针对窗口大小))>
食物也需要出于紧要原因的那些食物(需要抽奖和贴窗)
窗口反过来又有它的窗口循环,需要从那里调用那些蛇和食物的更新和绘制
// edit
有人要求定义,但定义是直截了当的
class Window
{
public:
Window::Window(Snake& s, Food& f): snake(s), food(f)
{
}
private:
Snake& snake;
Food& food;
}
我在c ++ sfml中获得了一条蛇代码。在这里我有2个对象Snake和Food,也有一个main(),其中包含Windows的sfml设置。我只想制作3个从main调用的对象,但是...
如何编译具有循环引用的c ++代码?