Primer punto: casi nunca hay una buena razón para usar la forma de matriz de nuevo o eliminar para empezar - use std :: vector (o algún otro contenedor) en su lugar.
Segundo: en las edades oscuras de C++, tenía que especificar el tamaño de la matriz que estaba eliminando, por lo que si usó x = new T[N]
, la eliminación correspondiente fue delete [N] x
. El requisito de especificar explícitamente el tamaño se eliminó hace largo, pero algunos compiladores (especialmente aquellos que se preocupan por la compatibilidad con código antiguo) todavía lo permiten.
A menos que realmente necesite seguir siendo compatible con un compilador antiguo (uno que tiene 20 años o menos) no debe usarlo. Por otra parte, a menos que necesites seguir siendo compatible con un compilador tan antiguo que no admite ningún contenedor estándar, no deberías estar usando la matriz de nuevo o eliminar en primer lugar. ¡Solo para!
+1. información útil –
significa que puede eliminar la matriz [2N]; y eso compilaría –
Gracias, esto es lo que estaba buscando. – raven