CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

二维指针的初始化

楼主Could(翻墙鹦鹉)2006-07-02 18:54:21 在 C/C++ / C++ 语言 提问

我想定义一个二维数组arr,  
  每个元素保存的是class1类型的指针:  
  int   M,N;  
  class1***   arr;  
   
  int   main()  
  {  
  ...  
  scanf("%d   %d",&M,&N);  
  arr=new   (class1**)[M];  
  for(int   i=0;i<M;i++)  
  arr[i]=new   (class1*)[N];  
  ...      
  }  
  我这样写哪里错了?  
  谢了先。 问题点数:100、回复次数:7Top

1 楼Could(翻墙鹦鹉)回复于 2006-07-02 18:55:31 得分 0

汗,把括号去掉就好了。  
  为什么呢?  
  优先级别是什么?Top

2 楼triace_zhang(『雪梨码头』)回复于 2006-07-02 19:03:50 得分 1

二维数组:  
   
  int   **arr;  
  scanf("%d   %d",&M,&N);  
  arr=new   int*[M];  
  for(int   i=0;i<M;i++)  
      arr[i]=new   int[N];  
  Top

3 楼OOPhaisky(异化$渴望成功~~)回复于 2006-07-02 19:28:48 得分 1

不能加括号吧,如果加了括号,编译器好像就会理解为“placement   new(定位new操作符)”,好像是这样的。Top

4 楼OOPhaisky(异化$渴望成功~~)回复于 2006-07-02 19:42:31 得分 1

楼主画蛇添足了,有时候为了“保险”起见,经常加上括号,我也总这样做,呵呵Top

5 楼UPCC(杂食动物)回复于 2006-07-02 20:02:18 得分 1

char**   s   =   NULL;  
  s   =   new   char*[10];  
  for(int   i=0;   i<10;   i++)  
  s[i]   =   new   char[10];  
   
  or    
   
   
  char**   s   =   NULL;  
  s   =   (char**)malloc(sizeof(char*)*10);  
  for(int   i=0;   i<10;   i++)  
  s[i]   =   (char*)malloc(sizeof(char)*10);Top

6 楼lyskyly(浮生三笑)回复于 2006-07-02 20:45:16 得分 95

(int)   a   =0;//错误  
  (int)   b[10];//错误  
        cout<<typeid((int)).name()<<endl;//错误  
  加了括号之后都是错误的,int是一个类型,而(int)是一条表示转型语句,不能拿来当int用  
  Top

7 楼bjzhaoxiao((super菜鸟))回复于 2006-07-03 17:11:07 得分 1

学习+接分。Top

相关问题

关键词

得分解答快速导航

  • 帖主:Could
  • triace_zhang
  • OOPhaisky
  • OOPhaisky
  • UPCC
  • lyskyly
  • bjzhaoxiao

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo