Boas! Alguem me consegue explicar como contornar este erro: Constant expression required in function main() Desde já agradeço. edit : Uso o compilador Borland c++ 4.5 #include <iostream.h> #include <math.h> main() { int a,p; //const p=1; cout<< "Insira o numero de pontos (Xi,Yi)...\n"; cin>>p; // p - numero de pontos //erro -> double x[p], y[p]; //coordenadas for(a=1;a<=p;a=a+1) { cout<<"\nInsira a coordenada do ponto: x"<<a<<"="; cin>>x[a]; cout<<"\nInsira a coordenada do ponto: y"<<a<<"="; cin>>y[a]; } }
nice trick : p Thanks man funcionou. Podias me explicar qual e o significado entao dessa linha de codigo ? é o mesmo que double x[p], y[p]; mas com sintaxe difrente? isso o que faz é converter a variavel p numa constante? Obrigado
se fazes 'double x[...];' está a alocar o array estaticamente e para tal precisas de saber à partida qual é o seu tamanho, com 'new double[...];' o array é alocado em tempo de execução e como tal o seu tamanho pode ser variável.