Re[2]: Как бороться с illegal storage class ?
От: Valеntin  
Дата: 14.02.06 16:37
Оценка:
Здравствуйте, 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);
};
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.