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();