• 4537阅读
  • 7回复

[提问]请教一个关于信号传递二维数组的例子 [复制链接]

上一主题 下一主题
离线x3340574
 
只看楼主 倒序阅读 楼主  发表于: 2013-04-09
最近编写数据传递,需要利用信号传递二维数组,希望朋友们帮帮忙给一个例子。
我自己写的编译通过了,但是数据传递不过去。。。
离线realfan

只看该作者 1楼 发表于: 2013-04-10
回 楼主(x3340574) 的帖子
可以把二维数组放在一个结构体中,用qRegisterMetaType注册一下这个结构体.然后就可以通过信号槽传递这个结构体了
离线x3340574
只看该作者 2楼 发表于: 2013-04-10
回 1楼(realfan) 的帖子
信号不能直接传递二维数组吗?
离线realfan

只看该作者 3楼 发表于: 2013-04-10
不管是几维数组,就相当于传个指针,但数组的生命期要注意.
如果你访问不到数组中的内容,说明上下文可能不行.用传值方式试试吧
离线pxiao_xiao

只看该作者 4楼 发表于: 2013-04-10
  1. int (*A1)[5]=new int[4][5];            //分配4行5列数组 每一维数组有5个元素
  2. emit signal_XXX(A1 , 4 , 5);
  3. 或者
  4. int **a = new int*[4]; //第一维  ---- 实际是个指向二维数组每行第一元素地址的指针数组
  5. for(int i = 0; i < 4; i++)
  6. {
  7.     a[i] = new int[5];  == int *(*a++) = new int[5];
  8. }
  9. emit signal_xxx(a, 4, 5);


离线realfan

只看该作者 5楼 发表于: 2013-04-11
回 4楼(pxiao_xiao) 的帖子
简单点,就用
int * pInt = new int[20];
传个指针肯定可以
用的地方按4*5用也没问题.
离线pxiao_xiao

只看该作者 6楼 发表于: 2013-04-11
回 5楼(realfan) 的帖子
得分情况 有些巨型矩阵 这么传过去 得让人缓半天劲
离线realfan

只看该作者 7楼 发表于: 2013-04-11
回 6楼(pxiao_xiao) 的帖子
按一维申请空间,同样按二维数组方式用.没什么区别.
快速回复
限100 字节
 
上一个 下一个