Запустите функцию-член того же класса в sf :: thread - PullRequest
0 голосов
/ 14 декабря 2018

Просто и коротко: что не так со строкой 4?Я не могу вызвать void с 0 параметрами одного и того же класса.

#include "Game.h"

Game::Game(int width, int height, std::string title) {
    sf::RenderWindow* window = new sf::RenderWindow(sf::VideoMode(width, height), title, sf::Style::Titlebar | sf::Style::Close);

    gameThread = new sf::Thread(&Game::run, window);

    window->setActive(false);
    sf::Event event;

    gameThread->launch();
    while (window->pollEvent(event)) {
        if (event.type = sf::Event::Closed)
            window->close();

        delete &event;
    }
    gameThread->wait();
}


Game::~Game() {
    delete &clock;
    delete &window;
    delete &gameThread;

    clock = nullptr;
    window = nullptr;
    gameThread = nullptr;
}

void Game::run(sf::RenderWindow* window) {
    while (window->isOpen()) {
        window->clear();
        window->display();
    }
}

В документации класса sf :: Thread все объясняется в примерах, но не то, что я, что делать.Visual Studio просто говорит, что нет подходящего конструктора по умолчанию.

...