c++ placement-new

c++ - ''Operador nuevo'': la función no toma 2 argumentos



placement-new (1)

Lo más probable es que no hayas incluido <new> . Necesitas eso para las declaraciones de las formas estándar de colocación -nuevas.

Parece que no puedo conseguir que mi ubicación sea nueva para trabajar por alguna razón. Basado en esta pregunta, he configurado esto correctly .

Sin embargo, sigo recibiendo el error:

''Operador nuevo'': la función no toma 2 argumentos

Aquí está mi código:

char * p = new char [sizeof(Node) * 5]; Node* node = new(p) Node();

donde Node es un nodo de lista enlazada. Traté de simplificar esto hacia abajo basado en la otra pregunta de desbordamiento de pila, y sigo recibiendo el mismo error:

char *buf = new char[sizeof(int)]; // pre-allocated buffer int *p = new (buf) int;

¿Alguien sabe por qué estoy teniendo este problema?

¡Cualquier ayuda es muy apreciada!

PD, esto funciona:

Node* node = new Node();