this в списке инициализации
От: Constructor  
Дата: 26.08.03 08:19
Оценка:
Здравствуйте!
Как исправить мой код, чтобы было правильно?

class A
{
};

class B
{
   A* m_pA;

   B(A* a) :
      m_pA(a)
   {
   }
};

class С : public A
{
   B m_b;

   C() :
      m_b(this)
   {
   }
}


Компилятор выдает предупреждение: warning C4355: 'this' : used in base member initializer list.
Что надо было бы сделать, если бы был такая задача:

class A;

class B
{
   A* m_pA;

   B(A* a) :
      m_pA(a)
   {
   }
};

class A
{
   B m_b;

   A() :
      m_b(this)
   {
   }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.