gpt4 book ai didi

C++ 声明一个带有大小函数的二维数组

转载 作者:太空狗 更新时间:2023-10-29 20:53:00 26 4
gpt4 key购买 nike

我正在尝试使用 STL 映射的 size() 方法声明一个二维数组:

const int size = edge_map.size();//get row and column size

int a[size][size];//nxn matrix

尽管我将其声明为常量,但我不断收到编译器错误,提示大小必须为常量。有没有解决这个问题而不必使用动态二维数组的方法?

最佳答案

数组的静态内存分配可以接受变量,只要变量的值可以在编译时确定。之所以有这个要求,是因为编译器必须知道要为堆栈上的数组分配多少内存。如果 edge_map 是它听起来的样子(某种可以在其存在期间改变大小的容器),那么您将无法以这种方式做到这一点。

如果不是这种情况,edge_map.size() 有一个可以在编译时确定的返回值,将该函数标记为 constexpr应该允许此代码工作。

关于C++ 声明一个带有大小函数的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com