回 帖 发 新 帖 刷新版面

主题:[讨论]数组指针传递疑问?!!!

请教以下程序调用的问题所在
主程序
//定义数组
unsigned char    * aValue[4];
//调用子程,接收子程传递的指针值
aValue = GetArray();

子程序
unsigned char WINAPI GetArray()
{
 //定义数组
 unsigned char * TempArray[4];
  ------------
  ------------
  ------------
 //返回数组指针
 return TempArray;
}
错误
error C2440: '=' : cannot convert from 'unsigned char *[4]' to 'unsigned char'
    This conversion requires a reinterpret_cast, a C-style cast or function-style cast
error C2440: '=' : cannot convert from 'unsigned char' to 'unsigned char *[4]'
    There are no conversions to array types, although there are conversions to references or pointers to arrays

回复列表 (共3个回复)

沙发

1.你定义的aValue是一个数组,它不能被赋值。
2.GetArray()函数的返回值不应是unsigned char,要改成unsigned char**。

板凳

数组名本身就是地址

3 楼


多谢各楼指点[em28][em28][em28]

我来回复

您尚未登录,请登录后再回复。点此登录或注册