初始化const int sz = copy_wav_v;
,将我的大小设置为name_wav[sz]
但其保持错误
error C2057: expected constant expression
//some code
if(char_chck >= 7 && character != 13)
{
copy_wav[copy_wav_v] = Readfile[i];
copy_wav_v++;
// wav_n->Text=System::Convert::ToString(copy_wav_v);
}
if(character == 13)
{
// const int sz = System::Convert::ToInt32(wav_n->Text);
const int sz = copy_wav_v;
char name_wav[sz]; //error starts here
for(int j = 0; j<=copy_wav_v;j++)
{
name_wav[j] = copy_wav[j];
if(j==copy_wav_v)
{
wav_name->Text= gcnew String(name_wav);
}
}
}
//some code
我目前正在使用Windows窗体应用程序制作Soundboard系统。
答案 0 :(得分:2)
您要声明一个静态数组。静态声明的数组在编译时分配了内存,其大小是固定的,即以后不能更改。
您的sz
值是在运行时定义的。
您需要使用动态数组。例如。看看std::vector