二维数组指针的初始化问题

self_control 2008-11-27 01:26:03
代码如下:
//define color type
typedef enum _color_t
{
RED=0,
BLUE,
YELLOW,
WHITE,
GREEN,
ORANGE
}color_t;

//define side type,every side is a 3*3 matrix of color_t
typedef color_t side_t[3][3];


以上为定义内容

side_t* pside;
*pside=new side_t;//提示无法从“color_t (*)[3]”转换为“color_t [3][3]”



问题:应该如何初始化这个指针?
...全文
485 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
self_control 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ztz0223 的回复:]
side_t* pside;
pside=new side_t;//
[/Quote]

你这样就更错啦- -!你去试试看……
self_control 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zmlovelx 的回复:]
引用 3 楼 self_control 的回复:
引用 2 楼 zmlovelx 的回复:
C/C++ code
color_t(*p)[3];
p=new color_t[3][3];


我要的效果是side_t的指针额...


C/C++ code
side_t* pside;
pside= new color_t[3][3][3];
[/Quote]

我试了一下,用

pside=new side_t[];

可以解决问题,这样做才比较符合我给出问题的标准啊- -!
你干嘛非要用color_t来初始化呢?
分还是给你吧....
就呆在云上 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 self_control 的帖子:]
代码如下:

C/C++ code//define color type
typedef enum _color_t
{
RED=0,
BLUE,
YELLOW,
WHITE,
GREEN,
ORANGE
}color_t;

//define side type,every side is a 3*3 matrix of color_t
typedef color_t side_t[3][3];



以上为定义内容

C/C++ code
side_t* pside;
*pside=new side_t;//
提示无法从“color_t (*)[3]”转换为“color_t [3][3]”




问题:应该如何初始…
[/Quote]

你声明一个指针以后,使用指针是不能加星号的
呵呵
这样吧:
side_t* pside;
pside=new side_t;//

×pside是解引用,就是取值撒
self_control 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gaoxiaowei 的回复:]
搞不懂楼主到底为什么 那么用呢 ?
[/Quote]

我说了原因我还是要那么用的,用其他方法我没必要放上来问啦。
gaoxiaowei 2008-11-27
  • 打赏
  • 举报
回复
4楼的方法可以 side_t* pside;
int n=5;
pside= new color_t[n][3][3];
三维数组 ----- 一维对应二维数组指针
gaoxiaowei 2008-11-27
  • 打赏
  • 举报
回复
搞不懂楼主到底为什么 那么用呢 ?
帅得不敢出门 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 self_control 的回复:]
引用 2 楼 zmlovelx 的回复:
C/C++ code
color_t(*p)[3];
p=new color_t[3][3];


我要的效果是side_t的指针额...
[/Quote]

side_t* pside;
pside= new color_t[3][3][3];
self_control 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zmlovelx 的回复:]
C/C++ code
color_t(*p)[3];
p=new color_t[3][3];
[/Quote]

我要的效果是side_t的指针额...
帅得不敢出门 2008-11-27
  • 打赏
  • 举报
回复

color_t(*p)[3];
p=new color_t[3][3];
lzh9955 2008-11-27
  • 打赏
  • 举报
回复
果然很难阿

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧