Operador público novo, operador privado delete: obtendo C2248 “não pode acessar membro privado” ao usar novo

Uma classe sobrecarregou os operadoresnew edelete. new é públicodelete é privado.

Ao construir uma instância dessa classe, recebo o seguinte erro:

pFoo = new Foo(bar)

example.cpp (1): erro C2248: 'Foo: operador delete': não pode acessar o membro privado declarado na classe 'Foo'

Mas não há ligação paradelete aqui, então o que está acontecendo na mente distorcida do compilador? :)

Qual é o motivo do erro?É possível resolver o problema sem recorrer a um membro?CreateInstance função?

questionAnswers(4)

yourAnswerToTheQuestion