我正在使用C++很长一段时间,现在我正在进行C项目.
我正在将C++程序转换为C.
我对程序中使用的常量有困难.
在C++代码中,我们定义了常量
static const int X = 5 + 3;
static const int Y = (X + 10) * 5
static const int Z = ((Y + 8) + 0xfff) & ~0xfff
Run Code Online (Sandbox Code Playgroud)
在C中,这些定义会引发错误.当我使用#defines代替常量时
#define X (5+3);
#define Y (((X) + 10) * 5)
#define Z ((((Y) + 8) + 0xfff) & ~0xfff)
Run Code Online (Sandbox Code Playgroud)
C编译器抱怨"Y"和"Z"的定义.
有谁可以帮我找到解决方案.
您需要从#define X行中删除分号
#define X (5+3)
#define Y (((X) + 10) * 5)
#define Z ((((Y) + 8) + 0xfff) & ~0xfff)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |