相关疑难解决方法(0)

允许运行时没有动态分配的数组大小?

我已经使用C++几年了,今天我看到了一些代码,但这怎么能完全合法呢?

int main(int argc, char **argv)
{
    size_t size;
    cin >> size;
    int array[size];
    for(size_t i = 0; i < size; i++)
    {
        array[i] = i;
        cout << i << endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

根据海湾合作委员会编制.

如何在没有new或没有运行时确定大小malloc

只是为了仔细检查,我用谷歌搜索了一些和我的所有类似的代码声称存储大小错误.

甚至Deitel的C++如何编程p.共同编程错误4.5下的261个状态:

只有常量可用于声明自动和静态数组的大小.

给我看.

c c++ array-initialization

58
推荐指数
4
解决办法
4万
查看次数

C++表达式必须具有常量值

#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);
}
Run Code Online (Sandbox Code Playgroud)

我试图获取用户想要从用户输入的数量并将其存储在可变大小中.

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

表达式必须具有恒定值

C2057:预期的常量表达式"编译错误.

c++ arrays const

6
推荐指数
1
解决办法
3万
查看次数

c++ - 在函数中传递可变大小的多维数组

我已经编写了以下代码,但它显示错误

use of parameter outside function body before ‘]’ token
Run Code Online (Sandbox Code Playgroud)

代码是

#include <iostream>
using namespace std;
int n=10;
void a(int s[n][n])
{
    cout<<"1";
}
int main()
{
    int s[n][n]={0};
    a(s);
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用全局变量传递可变大小的多维数组。我不想在这里使用向量。

c++ arrays

5
推荐指数
0
解决办法
2207
查看次数

标签 统计

c++ ×3

arrays ×2

array-initialization ×1

c ×1

const ×1