Re: unresolved external symbol
От: _lamer Беларусь  
Дата: 20.12.08 13:25
Оценка: -3
Здравствуйте, IgorKr, Вы писали:

IK>Здраствйте. Возможно проблема ламерськая, но все же помогите решить.

IK>кусок кода:

IK>
IK>class box{
IK>private:
IK>    struct objects{
IK>        void* obj;
IK>        objects* prev;
IK>        objects* next;
IK>    };
IK>    static objects* head; // unresolved external symbol "public: static struct box::objects * box::head" (?head@box@@2PAUobjects@1@A)
IK>    unsigned int count;
IK>public:
IK>    box(){};
IK>    box(unsigned char i){
IK>        switch(i){
IK>        case 0:{
IK>            cars* temp0=new cars;


IK>            include((temp0->get_address()));
IK>            break;
IK>               };
IK>..........
IK>


IK>Ошибочка там выскакивает.


IK>Почему мне надо СТАТИК? Потому что хочу иметь доступ к переменной head во всех объектах класса box(если есть какие то другие идеи, милости прошу, опишите =) ). В этом классе описан список, который сохраняет инфу по созданным объектам других классов. Возможно как то решить эту проблему, но что бы описание структуры оставалось в классе?

IK>Заранее спасибо.


статик переменные нужно инициализировать до определения класса:

objects* box::head = NULL; // инициализация static-членов обязательна даже если обьявлен как private

class box{
private:
struct objects{
void* obj;
objects* prev;
objects* next;
};
static objects* head; // не компилил, но должно работать
unsigned int count;

..........
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.