首页 > 解决方案 > 如何修复 C++ 中所需的常量表达式?

问题描述

我尝试创建一个包含用户选择的数字的表,但它给了我一个错误:

需要常量表达式

#include <iostream.h>
#include <conio.h>
main(){
clrscr();
int i,k,nval,pos=0,neg=0;
cout<<"Entrer Le nombre de valeur que vous voulez saisir nval = ";
cin>>nval;
int tab[nval];
for (i=0; i<nval; i++){
k=i+1;
cout<<"Le nombre la valeur numeros = "<<k<<"= ";
cin>>tab[i];
if (tab[i]>0) pos+=1;
else if (tab[i]<0) neg+=1;
}
cout<<"Le nombre des valeurs positives = "<<pos<<endl;
cout<<"Le nombre des valeurs negatives = "<<neg;
getch();
return 0;
}

是否有任何网站可以直接尝试 C++ 代码?

标签: c++turbo-c++

解决方案


您不能在编译时创建一个可变大小未知的数组。您可以尝试在堆内存中创建一个数组。

int *tab = new int[nval];

但是你必须在使用后释放它。

delete[] tab;

推荐阅读