当前位置:  开发笔记 > 编程语言 > 正文

无法将'int(*)[size]'转换为'int **'

如何解决《无法将'int(*)[size]'转换为'int**'》经验,为你挑选了1个好方法。

我有一个256x256的二维浮点数组,我试图将其传递给函数,而g ++给了我错误消息:Cannot convert 'int (*)[256]' to 'int**'。我该如何解决?

void haar2D(int** imgArr);

int imageArray[256][256];
haar2D(imageArray);

我试图将功能参数更改为类型int[256][256]int*[256]但没有成功。



1> Vlad from Mo..:

必须按照编译器所说的声明函数参数。

所以说要么

void haar2D( int imgArr[256][256] );

要么

void haar2D( int imgArr[][256] );

或喜欢

void haar2D( int ( *imgArr )[256] );

请考虑将声明为数组的参数调整为指向其元素的指针。

或者您可以将参数声明为对数组的引用

void haar2D( int ( & imgArr )[256][256] );

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有