Visual Studio在运行我的C ++程序时给出了一个奇怪的错误。我甚至从SFML的网站复制并粘贴了代码,但由于某些原因在窗口之后(sf :: VideoMode Visual Studio说“Eror,expect a')'”。当我运行程序时,它在第8行(渲染窗口1)上给出错误C2226。我错过了什么?
#pragma once
#include "SFML/Graphics.hpp"
#include "SFML/Window.hpp"
class AirportGame {
private:
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); // This line
public:
void init();
void tick();
void render();
int main();
};
答案 0 :(得分:2)
sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); // This line
这与TYPE函数(函数(arg,arg),arg)相同; ?
你能在类定义中找到函数吗?我认为它预计a)在窗口之后(
我认为它需要进入代码的功能部分
答案 1 :(得分:1)
您的变量声明中不能进行构造函数调用。您需要使用初始化列表或将RenderWindow变量作为指针,并使用new
在构造函数中创建实例。不要忘记在析构函数中delete
或从一开始就使用像std::unique_ptr
这样的智能指针。
当我们处于时,您的main
方法将不会以这种方式工作。它需要是一个自由函数,而不是一个类方法。