Функции конфликтуют

#include <vector>
#include <functional>
#include <chrono>

class RTOS
{
public:
bool stop;
    RTOS() : stop(false), timer(0) {}

    void start()
    {
        stop = false;
    }

    void stop()
    {
        stop = true;
    }

    void addTask(std::function<void()> task, std::chrono::milliseconds interval)
    {
        tasks.push_back({task, interval});
    }

private:
    std::vector<std::pair<std::function<void()>, std::chrono::milliseconds>> tasks;
    std::chrono::milliseconds timer;

    void run()
    {
        while (!stop)
        {
            for (auto& task : tasks)
            {
                if (timer >= task.second)
                {
                    task.first();
                    timer -= task.second;
                }
            }
            timer += std::chrono::milliseconds(1);
        }
    }
};

RTOS os;

int main()
{
    os.start();
    os.addTask([]() { cout << "Task 1" << endl; }, std::chrono::seconds(1));
    os.addTask([]() { cout << "Task 2" << endl; }, std::chrono::seconds(2));

    while (true)
    {
        os.run();
    }
}

Ответы (1 шт):

Автор решения: Harry
bool stop;
void stop()
{
    stop = true;
}

Так что же такое stop - переменная или функция?

Дальше рассказывать не надо?

→ Ссылка