错误原因:在宏定义后加了;比如:#define PI 3.14159;
因为在C或C++中,#define
是预处理指令,用于定义宏。通常,#define
指令的末尾不需要加分号(;
),因为预处理指令不是语句,它们不受C/C++语法规则中关于语句结束符的限制。
举例:#define PI 3.14159;
虽然PI的定义末尾有一个分号,但在大多数情况下,这不会导致编译错误。然而,这个分号可能会在宏展开时导致问题,特别是当宏被用作表达式的一部分时。
例如:
#define PI 3.14159;
double radius = 5.0;
double area = PI * radius * radius; // 这里会展开为 3.14159; * 5.0 * 5.0,导致编译错误