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); тогда компилятор выдаёт "оператор можно использовать только внутри нестатической функции-члена"
Вот схема если будет понятнее :)
