У меня проблемы с поиском решения этой проблемы, потому что одно или другое, A или B, должно быть инициализировано раньше другого.
blockquote>Вы можете использовать:
class Base { }; class A; class B; class A : public Base { public: A(B const& b) : refToB(b) {} B const& refToB; }; class B : public Base { public: B(A const& a) : refToA(a) {} A const& refToA; }; class Parent { public: A a; B b; Parent() : a(b), b(a) {} };
Однако это единственный способ инициализировать объекты типа
A
иB
. Вы не сможете инициализировать их без объекта контейнера.Непонятно, почему вы хотите создавать свои классы таким образом. Скорее всего, есть лучший дизайн, который будет отвечать вашим потребностям.
Так, оказывается, что конфигурация была виновата. Это было немного неправильно:
Исходный:
<conversionPattern value="%property{log4net:HttpReferer}"/>
Измененный:
<conversionPattern value="%property{HttpReferer}"/>
Я должен был вынуть "log4net": в свойстве.
То, что нечетно, - то, что одно свойство все еще потребовало log4net:propertyName. У меня нет абсолютно никакой идеи, почему это прокладывает себе путь, но это - фиксация, которая работала!
Можно ли включить log4net подробное/отлаживать/шоу sql для наблюдения что его выполнение на том уровне? Есть ли, возможно, другой бит конфигурации, это необходимо для связывания всего этого?