c++ Многофайловый проект, ошибка с нестатической функцией

пытаюсь написать небольшую консольную программку, но я уже запутался :) Суть такая есть основной файл где int main(){} и класс Program этот класс должен вызвать из другого файла, из класса функцию outPutText() а эта функция вызывает 3 файл setColor(), возможно звучит сложно, но в коде будет наверное более понятнее.

source.cpp

#include "Text.h"

class Program s{
public:
   Text::outPutText("Бла бла", red);
};
int main(){
....
}

Text.h

#pragma once
class Text{
public:
    void outPutText(string text, ConsoleColor color);
};

Text.cpp

#include "Text.h"

void outPutText(string text, ConsoleColor color){
   Color::setColor(color);
...
...
}

Color.h

#pragma once
class Color{
   void setColor(ConsoleColor color);
}

Color.h

#include "Color.h"

void setColor(ConsoleColor color){
...
...
}

И у меня почти получилось связать все это, но в outPutText где вызываю 3 файл, мне компилятор "говорит что надо статическую функцию", если я делаю setColor статической в файле setColor.cpp static void setColor(ConsoleColor color) компилятор выдаёт ошибку "здесь нельзя указать класс хранения". Я попробовал даже void this->Color::setColor(color); тогда компилятор выдаёт "оператор можно использовать только внутри нестатической функции-члена"

Вот схема если будет понятнее :)

Схема


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