ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1187380 Топик полностью
Argon (13.03.2022 19:07, просмотров: 196) ответил Costic на У вас ошибки при использовании static. Попробую пояснить. В функции instance() используется переменная doozer, которая объявлена static относительно функции, а не класса. Объявите её внутри класса, допустим в секции class Doozer { public: static Doozer* doozer; ... }; А потом где-нибудь в .CPP: Doozer::doozer = nullptr;
Я ведь написал, что не видится эта перменная, если ее объявить вне функции instance(). Почему так - не знаю. 

Т.е. вот это:

class Doozer {

public:

static Doozer* doozer;

static Doozer* instance() {

	if(!doozer) doozer = new Doozer();

        return doozer;
       }

bool parse() {

  return false;

}

private:

    Doozer() = default;

};

Не работает.

undefined reference to `Doozer::doozer'