mReqContext
имеет тип auto_ptr<RequestContext>
, верно? Тогда проблема может быть в несовместимых типах по обе стороны от :
, потому что new RequestContext()
дает RequestContext *
, но оба должны иметь общий тип, чтобы троичный оператор мог использоваться.
Возможные решения: либо используйте
auto_ptr<RequestContext>(new RequestContext)
на правой стороне :
или используйте
mReqContext.get()
на левой стороне :
.
В обоих случаях: остерегайтесь проблем с владением указателем с auto_ptr
! (Необработанный) указатель в auto_ptr
может принадлежать только одному объекту auto_ptr
, поэтому оба моих «простых» решения могут быть не тем, что вам нужно (первое очищает mReqContext
, если оно не -нуля, второй нет, но может привести к удалению дубликата mReqContext
).