- 
	
- Вот, уже теплее. Нужно изучить принцип работы аллокатора - должна
быть реализация в стандартной библиотеке системы. Возможно, что-то
есть в документации на ОС. - evgeniy1294(12.03.2022 20:20)
			
- Если я верно понял о чем речь, то в ОС нет какого-то специального
аллокатора - все объекты/процессы размещаются статически на этапе
компиляции. Стало быть проблема - в стеке?  Argon(580 знак., 13.03.2022 18:20)
					
- У вас ошибки при использовании static. Попробую пояснить. В функции
instance() используется переменная doozer, которая объявлена static
относительно функции, а не класса. Объявите её внутри класса,
допустим в секции class Doozer { public: static Doozer* doozer; ...
}; А потом где-нибудь в .CPP: Doozer::doozer = nullptr; - Costic(13.03.2022 18:58)
							
- Я ведь написал, что не видится эта перменная, если ее объявить вне
функции instance(). Почему так - не знаю.  Argon(313 знак., 13.03.2022 19:07)
									
- А нельзя ли в лоб обратиться в instance() { if (Doozer::doozer)
Doozer::doozer = new Doozer();??? 1) default конструктор очень
нужен? он же как-то хитро с инициализацией связан. 2)
Doozer::doozer = nullptr; надо бы объявить. - Costic(13.03.2022 19:38)
											
- Неа, внутри instance() Doozer::doozer тоже не видится, если его
объявить вне instance().  Argon(377 знак., 13.03.2022 19:48)
													
- Doozer::doozer = nullptr без этого линкер не соберёт. Определить в
любом исходнике, как глобальную переменную, например рядом с
main(). Я проверил на gcc (mingw) - всё компилируется. - Costic(13.03.2022 20:12)
															
- Ну вот еще не хватало глобальную переменную заводить... Этот
указатель вообще не должен быть виден нигде кроме как внутри класса
Doozer. - Argon(13.03.2022 20:16)
																	
- Статические переменные-члены класса так и работают. Видимость
глобальная, доступ через ::. - Costic(13.03.2022 20:40)
																			
- я хотел сказать, что по идее она должна быть вообще в секции
private класса - Argon(13.03.2022 21:02)
																					
- который раз замечаю - программеры Си бодаются с целевой задачей, и
все вопросы соответствующие. а программисты Си++ бодаются с самим
языком, и практически никогда - с целевой задачей. - Mahagam(13.03.2022 22:01)
																							
- Золотые слова. - AndreasW(13.03.2022 22:10)
 - пасиб за комплимент, я на C++ вообще, можно сказать, впервые пишу ) - Argon(13.03.2022 22:04)
																									
- это не комплимент, а как бы наоборот :-) - SciFi(13.03.2022 22:09)
																											
- назвать "программистом C++" - это мегакомплимент )) - Argon(13.03.2022 22:25)
 
 
 - это не комплимент, а как бы наоборот :-) - SciFi(13.03.2022 22:09)
																											
 
 
 - который раз замечаю - программеры Си бодаются с целевой задачей, и
все вопросы соответствующие. а программисты Си++ бодаются с самим
языком, и практически никогда - с целевой задачей. - Mahagam(13.03.2022 22:01)
																							
 
 - я хотел сказать, что по идее она должна быть вообще в секции
private класса - Argon(13.03.2022 21:02)
																					
 
 - Статические переменные-члены класса так и работают. Видимость
глобальная, доступ через ::. - Costic(13.03.2022 20:40)
																			
 
 - Ну вот еще не хватало глобальную переменную заводить... Этот
указатель вообще не должен быть виден нигде кроме как внутри класса
Doozer. - Argon(13.03.2022 20:16)
																	
 
 - Doozer::doozer = nullptr без этого линкер не соберёт. Определить в
любом исходнике, как глобальную переменную, например рядом с
main(). Я проверил на gcc (mingw) - всё компилируется. - Costic(13.03.2022 20:12)
															
 
 - Неа, внутри instance() Doozer::doozer тоже не видится, если его
объявить вне instance().  Argon(377 знак., 13.03.2022 19:48)
													
 
 - А нельзя ли в лоб обратиться в instance() { if (Doozer::doozer)
Doozer::doozer = new Doozer();??? 1) default конструктор очень
нужен? он же как-то хитро с инициализацией связан. 2)
Doozer::doozer = nullptr; надо бы объявить. - Costic(13.03.2022 19:38)
											
 
 - Я ведь написал, что не видится эта перменная, если ее объявить вне
функции instance(). Почему так - не знаю.  Argon(313 знак., 13.03.2022 19:07)
									
 
 - У вас ошибки при использовании static. Попробую пояснить. В функции
instance() используется переменная doozer, которая объявлена static
относительно функции, а не класса. Объявите её внутри класса,
допустим в секции class Doozer { public: static Doozer* doozer; ...
}; А потом где-нибудь в .CPP: Doozer::doozer = nullptr; - Costic(13.03.2022 18:58)
							
 
 - Если я верно понял о чем речь, то в ОС нет какого-то специального
аллокатора - все объекты/процессы размещаются статически на этапе
компиляции. Стало быть проблема - в стеке?  Argon(580 знак., 13.03.2022 18:20)
					
 
 - Вот, уже теплее. Нужно изучить принцип работы аллокатора - должна
быть реализация в стандартной библиотеке системы. Возможно, что-то
есть в документации на ОС. - evgeniy1294(12.03.2022 20:20)