C++ 嵌套数组[][] 在第二个函数中为空
c++ nested arrays[][] empty in second function
我有一个嵌套数组,我正在尝试将其从一个函数传递到另一个函数
但另一方面没有数据
这是初始化它的地方:
int myarray[4][23];
//myarray populated
int size = sizeof(myarray) / sizeof(myarray[0]);
std::cout << "AND " << size << std::endl; //this gives me 4 as expected
function(myarray);
然后它转到另一个文件并使用:
function(int myarray[][23]) {
int size = sizeof(myarray) / sizeof(myarray[0]);
std::cout << "AND " << size << std::endl; //this gives me 0
}
提前致谢
当你将数组传递给函数时,它会衰减到指针,并且使用sizeof
找出其大小的能力将丢失。它返回指针的大小。看看:什么是阵列衰减?
在具有以下原型的功能的情况下:
void function(int myarray[][23]);
参数的类型实际上是int (*)[23]
的,因此sizeof(myarray)
返回指针的大小,在 32 位系统上为 4,在 64 位系统上为 8。
相关文章:
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 如何在 C++ 的外部类构造函数中初始化嵌套类成员
- 如何使用 binary_search STL 函数在嵌套类中搜索整数?
- 嵌套模板函数采用 2 个具有相同内部类型的容器
- C++将结构传递给函数以访问嵌套结构
- C++ 在外部使用嵌套结构实现类函数
- 嵌套模板函数的重载
- 通过两个嵌套函数传递C++函数的名称
- 如何从另一个嵌套类中调用某个封闭类的嵌套类的函数指针成员的值?
- MSVC 2017 - 错误 - 如何将模板类 X 的模板成员函数声明为嵌套类 X::Y 的好友
- 使用嵌套函数数组是个好主意吗?
- 嵌套的模板结构构造函数实现
- C2436 '{ctor}':构造函数初始值设定项列表中的成员函数或嵌套类
- 我们可以在main函数中声明嵌套类对象吗
- C++嵌套的迭代器类(在链表类中)Insert_After函数
- 访问另一个类中的模板化嵌套类函数和对象
- Cllass 函数不解析嵌套类实例或函数
- C++析构函数嵌套类的显式模板
- C++和析构函数(嵌套类和一般问题)
- C++函数嵌套模板