Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.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++ EXC_对循环的访问错误(数组函数指针)_C++_Arrays_For Loop - Fatal编程技术网

C++ EXC_对循环的访问错误(数组函数指针)

C++ EXC_对循环的访问错误(数组函数指针),c++,arrays,for-loop,C++,Arrays,For Loop,下面的代码导致EXC_BAD_访问地址0x0错误-即使我在某种程度上是正确的。它用于执行指向函数的数组。如果我更改sizeof(draw)使用我的号码,它就像预期的那样工作 for(int i = 0; i < sizeof(draw); i++) draw[i](i); for(int i=0;i

下面的代码导致EXC_BAD_访问地址0x0错误-即使我在某种程度上是正确的。它用于执行指向函数的数组。如果我更改
sizeof(draw)使用我的号码,它就像预期的那样工作

 for(int i = 0; i < sizeof(draw); i++)
        draw[i](i);
for(int i=0;i
sizeof(draw)
返回“draw”的大小,单位为字节数,而不是项目数。您可能正在查找
(sizeof(draw)/sizeof(draw[0]))
sizeof(draw)
返回“draw”的大小,单位为字节数,而不是项目数。您可能正在查找
(sizeof(draw)/sizeof(draw[0]))

如果
draw
实际上是一个数组衰减的产物,那么这将无法正常工作。最好使用
std::array
并放弃原始数组用法,因为
std::array
具有
size()
来确定元素的数量,并且在传递时不会衰减为指针。如果
draw
实际上是一个指针,而该指针是正在衰减的数组的产物,则此操作将无法正常工作。最好使用
std::array
并放弃原始数组用法,因为
std::array
具有
size()
来确定元素的数量,并且在传递时不会衰减为指针。