Добрый день.
Имеется класс agents, в нем есть статическое поле
static graph general_graph;
Где graph - другой класс. У этого класса есть метод fill() - считывает граф из файла.
Проблема: не могу инициализировать статическую переменную объектом граф с уже выполненным методом fill(), не создавая глобальный объект.
вне функции main пишу такой код:
graph agents::general_graph = *(new graph());
код компилируется без ошибок, но как при этом вызвать метод fill() при инициализации?
У этого класса есть метод fill() - считывает граф из файла.
У вас ведь метод вызывается как-то так: ?.fill(<имя_фала>)?
Хороший вариант - иметь перегруженный конструктор вида graph(<имя_фала>), в котором будет делаться то же, что и fill().
Если метод не виртуальный, то в конструкторе вызвать. Если нельзя в конструкторе, то в программе надо создать место, где вы будете инициировать подобные конструкции перед главным циклом (например в начале main).