C中的define为什么有问题?
C中的define为什么有问题?
想得到一个符号常量,
/////////////////////////////////////
//用define编译不成功
#define MAXSIZE 100;
typedef int ElemType;
typedef struct {
int r, c;
ElemType e;
} Triple;
typedef struct {
int rows, cols, elements;
Triple data[MAXSIZE];//语法错误在此产生
} Matrix;
/////////////////////////////////////////////////
//只有用enum,成功
enum {MAXSIZE = 100};
typedef int ElemType;
typedef struct {
int r, c;
ElemType e;
} Triple;
typedef struct {
int rows, cols, elements;
Triple data[MAXSIZE];
} Matrix;
不知道是不是我基础知识,没有发现问题,谢谢各位指教。谢谢。
[解决办法]
#define MAXSIZE 100;
==========
#define MAXSIZE 100
[解决办法]
楼上的正解
[解决办法]
楼上正解.
如果拟定义成: #define MAXSIZE 100;
那么意味着MAXSIZE 会被替换成 "100; ", 注意有 "; ",
那么:
Triple data[MAXSIZE];
变成:
Triple data[MAXSIZE;];
语法错误所以在此产生
[解决办法]
这个就是为什么在C++中部建议再用#defined的原因,建议用const