extern Logger logg
на Logger logg;
#include <iostream>
#include <fstream>
class Logger {
public:
Logger() {
openFile("Logger.txt");
}
~Logger() {
closeFile();
}
template<class T>
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;
show(ObjectsBuffer objectsBuffer, int selectedObjectIndex)
принимала аргумент - буфер, и видимо я пытался получить не копию буфера, уже копии буфера, решением было передать ссылку на буфер: show(std::vector<LevelObject> &buffer, int selectedObjectIndex)
, и вызов функции стал таким:ObjectEditorUI::show(objectsBuffer.getReferenceBuffer(), selectedObjectIndex)
(getReferenceBuffer вверху). Похоже я оеально упустил слишком много деталей, всем спасибо