首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

malloc 中的表达式不能用define订的值

2013-09-06 
malloc 中的表达式不能用define定的值#includestdlib.h#define Stack_Initsize 100typedef struct{char

malloc 中的表达式不能用define定的值

#include<stdlib.h>
#define Stack_Initsize 100;
typedef struct{
  char *base,
       *top;
  int stacksize;
}SqStack;
void initstack(SqStack &L){
  L.base=(char *)malloc( sizeof(char)*Stack_Initsize);
  //if(!base) 
  }
  

编译总是不通过,如果把L.base=(char *)malloc( sizeof(char)*Stack_Initsize);中的Stack_Initsize换成100就行了,不知道咋整,求大神解惑
[解决办法]
#define Stack_Initsize 100
后面的分号不要
[解决办法]
#define Stack_Initsize 100;

#define Stack_Initsize 100   //没有分号

[解决办法]

#define Stack_Initsize 100;
//宏是全部替换的,也就是 把你代码里的
//所有出现Stack_Initsize 的地方 替换成 
// 100;

替换后
L.base=(char *)malloc( sizeof(char)*100;);
//这样肯定是编译不过的!

改成
#define Stack_Initsize 100


建议 少用宏: 不安全! 它只会替换!
[解决办法]
引用:
#define Stack_Initsize 100
后面的分号不要

++

热点排行