Operador público nuevo, operador privado eliminado: obtener C2248 "no se puede acceder al miembro privado" cuando se usa nuevo

Una clase ha sobrecargado los operadores.new ydelete. new es público,delete es privado.

Cuando construyo una instancia de esta clase, obtengo el siguiente error:

pFoo = new Foo(bar)

example.cpp (1): error C2248: 'Foo: operador eliminar': no ​​se puede acceder al miembro privado declarado en la clase 'Foo'

Pero no hay llamada adelete Aquí, entonces, ¿qué está pasando en la mente retorcida del compilador? :)

¿Cuál es la razón del error?¿Es posible resolver el problema sin recurrir a un miembro?CreateInstance ¿función?

Respuestas a la pregunta(4)

Su respuesta a la pregunta