Re: Два класса, имеющих указатели друг на друга
От: hobby  
Дата: 30.09.08 15:05
Оценка:
Здравствуйте, blacksun, Вы писали:


B>такое ощущение, что компилятор не знает, что у cls1 есть переменная test1.

B>подскажите, как побороть проблему?

А ты поработай препроцессором
Смотри:


// main.cpp
//#include "cls1.h"

#pragma once
//#include "cls2.h"

#pragma once

//#include "cls1.h" - проигнорировано, второе включение

class cls1;  // а до объявления еще не добрались :)

class cls2
{
public:
    cls2() { pCls1 = NULL; }
    int test2;
    cls1 *pCls1;

    void setp(cls1 *p);
    // правильно, здесь проблема 
    void prnt() { if (pCls1) printf("%d\n", pCls1->test1); } // <-- проблема здесь

};

// и только здесь начинается объявление cls1
...


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