unresolved static variable 'Martingale::LossLots' - страница 2

 
Alexey Volchanskiy:
Неточно выразился, но ведь вы поняли вопрос. Зачем размещать инициализацию static в другом модуле? Желательно реальный пример + выгода от такого маневра.

Нет не понял. Что значит в другом модуле? В приведеном выше примере два модуля Test1.cpp и Test2.cpp - какой из них другой? Все модули равнозначны.

Это не маневр и не выгода. В С++ static один на класс. Компилятору все равно в каком модуле он будет, но если модулей несколько, то он должен знать в какой модуль его помещать. В каком модуле будет запись int A::a = 0; в тот модуль он и будет помещен. Поэтому в С++ такая запись возможна только в одном модуле и необходима если модулей несколько.