Как можно правильно подключить и использовать класс Logger из другого файла? У меня возникает ошибка "не разрешённый внешний символ" при передаче информации через оператор <<. Заметил, что ошибка исчезает, если объявить класс Logger там, где он необходим. Что нужно сделать, чтобы исправить эту проблему?
Измените в коде строку "extern Logger logg" на "Logger logg;", чтобы создать объект logg. Кроме того, обратите внимание на улучшенный код: #include#include class Logger { public: Logger() { openFile("Logger.txt"); } ~Logger() { closeFile(); } template Logger& operator<<(const T& value) { file << value; std::cout << value; return *this; } Logger& operator<<(std::ostream& (*manipulator) (std::ostream&)) { file << manipulator; std::cout << manipulator; return *this; } void openFile(const char *path) { file.open(path); if(!file.is_open()) { throw std::runtime_error("Failed to open 'Logger.txt'"); } } void closeFile() { file.close(); } private: std::ofstream file; }; Logger logger; logger << 6 << " is six" << std::endl;