tengo el siguiente código:C++ int a [n] de trabajo en g ++ pero no con VS2008
...
int n;
cin >> n;
int numbers[n];
...
Se compiló con NetBeans en Mac usando g ++ (creo) y no compilar usando VS2008 en Windows. ¿Por qué es tan difícil hacer que funcione con cada compilador? El tamaño de la matriz se conoce antes de asignarlo.
EDIT: Sé de std::vector
. En realidad, esto era parte de una tarea y comencé a trabajar en un Mac, luego llegué a casa y me sorprendió que no funcionara en VS2008. Gracias por todas las respuestas. Pero todavía encuentro lógico que si el compilador puede generar algún código como alloc(123)
donde el valor 123 está codificado, ¿por qué no puede generar algo como alloc(n)
donde obtienes n
desde una dirección de memoria que contiene un int n
o algo así. Simplemente parece más lógico permitir algo así por defecto.
¿por qué no utilizar algunas cosas reales de cpp como 'std :: vector' para eso –
@RC: ¡Es una buena respuesta, que sea real! –
@Drew: hecho;) gracias –