Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 无法通过int设置字符[size]的大小_C++_Winforms_C++ Cli_Constants - Fatal编程技术网

C++ 无法通过int设置字符[size]的大小

C++ 无法通过int设置字符[size]的大小,c++,winforms,c++-cli,constants,C++,Winforms,C++ Cli,Constants,初始化常量int sz=copy_wav_v;设置我的姓名大小_wav[sz] 但这是错误的 错误C2057:应为常量表达式 我目前正在使用Windows窗体应用程序制作音板系统。您正在声明一个静态阵列。静态声明的数组在编译时分配内存,其大小是固定的,即以后不能更改 sz值是在运行时定义的 您需要使用动态数组。例如,看一下std::vector问题是什么?CopySaveWaveV可能没有赋值,保持尝试和错误-这是错误的学习C++的方式。改为阅读。你的问题缺少一个问题。这里的错误不足以告诉我们问

初始化常量int sz=copy_wav_v;设置我的姓名大小_wav[sz] 但这是错误的

错误C2057:应为常量表达式


我目前正在使用Windows窗体应用程序制作音板系统。

您正在声明一个静态阵列。静态声明的数组在编译时分配内存,其大小是固定的,即以后不能更改

sz值是在运行时定义的


您需要使用动态数组。例如,看一下std::vector

问题是什么?CopySaveWaveV可能没有赋值,保持尝试和错误-这是错误的学习C++的方式。改为阅读。你的问题缺少一个问题。这里的错误不足以告诉我们问题是什么。首先,你使用的语言不是C++,而是C++ + CLI,这是一种不同的语言。除此之外,我强烈建议不要使用C++/CLI构建Windows窗体应用程序。如果要构建Windows窗体应用程序,请使用C或任何其他合适的.NET语言。C++/CLI不用于构建Windows窗体应用程序。它用于编写介于.NET和本机代码之间的互操作层。特别是如果你对C++和.NET没有很多经验,C++ + CLI绝对不是你应该使用的…编译器想要的是编译时常量表达式,而不是一个只有在执行时才知道的值的const变量。
//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