C ++表达式必须具有恒定值

Gv
#include <iomanip>
#include <iostream>
#include <Windows.h>
using namespace std;

template <class T>
void sort(int n, T a[]){
       for(i=0;i<n-1;i++){
          for(j=i;j<n;j++){
               if(a[i] > a[j]){
               temp=a[i];
               a[i]=a[j];
               a[j]=temp;
               }
           }
     }
}


void main(){
    int size;
    cout<<" Please input the amount of numbers you would like to sort"<<endl;
    cin>>size;
    int Amta[size];
    for(int i=0; i<size; i++){
        cout<<"Please enter the "<<size+1<< "number";
        cin>>Amta[i];
    }
    Sleep(100000);
}

我正在尝试从用户那里获取用户想要输入的数字并将其存储在可变大小中。

但是,当我初始化时array Amta[size],出现以下编译错误:

表达式必须具有恒定值

C2057:预期常量表达式”编译错误。

亚伦·金

声明数组时,不能在方括号之间输入非常数值:

int Amta[size];

由于您是size从用户那里得到的,因此编译器无法提前告知需要多少内存Amta在这里要做的最简单的事情(尤其是对于练习而言)是选择一个相对较大的值并使该常量分配不变,例如:

int Amta[1024];

然后,如果您要小心(应该),则可以检查if (size > 1024)并打印错误,前提是用户想要的大小超出了预先分配的范围。

如果想花哨的话,可以Amta使用没有预设大小的定义,例如int *Amta;,然后再使用分配malloc

Amta = (int *)malloc(sizeof(int) * size);

然后Amta,完成后,您还必须稍后释放它:

free(Amta);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++表达式必须具有恒定值

来自分类Dev

C ++表达式必须具有恒定值

来自分类Dev

Visual C ++表达式必须具有恒定值

来自分类Dev

表达式在C中必须具有恒定值

来自分类Dev

编译器在VS2015中显示“表达式必须具有恒定值”(C编程)

来自分类Dev

错误“表达式必须具有恒定值”

来自分类Dev

Intellisense表达式必须具有恒定值

来自分类Dev

错误:表达式必须具有恒定值。为获得明显恒定的值

来自分类Dev

数组定义-表达式必须具有恒定值

来自分类Dev

错误[Pe028]:表达式必须具有恒定值

来自分类Dev

“表达式必须具有恒定值” visual studio错误E0028

来自分类Dev

C ++标准是否保证函数返回值具有恒定地址?

来自分类Dev

C ++标准是否保证函数返回值具有恒定地址?

来自分类Dev

具有恒定和可变变化的C ++模板

来自分类Dev

c树形结构表达式必须具有类类型

来自分类Dev

表达式必须具有指向C中对象类型的指针

来自分类Dev

C ++ /错误:表达式必须具有整数或无作用域的枚举类型

来自分类Dev

C ++,错误:表达式必须具有整数或无作用域的枚举类型

来自分类Dev

C ++中的“表达式必须具有类类型”错误

来自分类Dev

c树形结构表达式必须具有类类型

来自分类Dev

C ++错误-表达式必须具有整数或枚举类型-从带有串联的字符串中获取此值?

来自分类Dev

C-表达式必须是可修改的左值

来自分类Dev

C,错误:表达式必须是可修改的左值

来自分类Dev

C ++类表达式必须是可修改的左值

来自分类Dev

(c)表达式必须是可修改的左值

来自分类Dev

C ++,表达式必须是可修改的左值

来自分类Dev

错误:在函数中将struct作为参数传递时,表达式在c中必须具有struct或union类型

来自分类Dev

在Visual Studio中执行C程序时,表达式必须具有指向对象类型ERROR的指针

来自分类Dev

如何解决此错误表达式必须具有类类型和C228?

Related 相关文章

  1. 1

    C ++表达式必须具有恒定值

  2. 2

    C ++表达式必须具有恒定值

  3. 3

    Visual C ++表达式必须具有恒定值

  4. 4

    表达式在C中必须具有恒定值

  5. 5

    编译器在VS2015中显示“表达式必须具有恒定值”(C编程)

  6. 6

    错误“表达式必须具有恒定值”

  7. 7

    Intellisense表达式必须具有恒定值

  8. 8

    错误:表达式必须具有恒定值。为获得明显恒定的值

  9. 9

    数组定义-表达式必须具有恒定值

  10. 10

    错误[Pe028]:表达式必须具有恒定值

  11. 11

    “表达式必须具有恒定值” visual studio错误E0028

  12. 12

    C ++标准是否保证函数返回值具有恒定地址?

  13. 13

    C ++标准是否保证函数返回值具有恒定地址?

  14. 14

    具有恒定和可变变化的C ++模板

  15. 15

    c树形结构表达式必须具有类类型

  16. 16

    表达式必须具有指向C中对象类型的指针

  17. 17

    C ++ /错误:表达式必须具有整数或无作用域的枚举类型

  18. 18

    C ++,错误:表达式必须具有整数或无作用域的枚举类型

  19. 19

    C ++中的“表达式必须具有类类型”错误

  20. 20

    c树形结构表达式必须具有类类型

  21. 21

    C ++错误-表达式必须具有整数或枚举类型-从带有串联的字符串中获取此值?

  22. 22

    C-表达式必须是可修改的左值

  23. 23

    C,错误:表达式必须是可修改的左值

  24. 24

    C ++类表达式必须是可修改的左值

  25. 25

    (c)表达式必须是可修改的左值

  26. 26

    C ++,表达式必须是可修改的左值

  27. 27

    错误:在函数中将struct作为参数传递时,表达式在c中必须具有struct或union类型

  28. 28

    在Visual Studio中执行C程序时,表达式必须具有指向对象类型ERROR的指针

  29. 29

    如何解决此错误表达式必须具有类类型和C228?

热门标签

归档