Здравствуйте, BitField, Вы писали:
BF>кодвориора нет под рукой, так что варианты наугад
BF>1) где-то определен макрос extern -- вставь проверку типа
BF>BF>#ifdef extern
BF>#error
BF>#endif
BF>
BF>2) Замени глобальную переменную на синглетон (Если у тебя только одна глобальная переменная этого типа). Если не знаешь, что это такое -- Поиск по сайту/в статьях. Советую посмотреть на синглетон Маерса, тот, где:
BF>BF>static Class & getInstance()
BF>{
BF> static Class instance;
BF> return instance;
BF>}
BF>
Спасибо! Разобрался. Причина была в том, что по оплошности в одном из классов использующих данный класс, инклуд на файл был вставлен прямо перед методом который работает с объектами такого класса, а не в начале файле.
class OtherClass {
public:
void method1();
include "CWUnit.h"
void method2(CWUnit &unit);
};