问题描述 C++代码如下 #ifdef BDF1 using ode_tag = pressio::ode::implicitmethods::BDF1; 对于同一变量BDF1,使用了命名空间,同时在当前代码中定义了同名的宏,于是编译时出现如下报错: 经排查,由于宏定义机制同不普通变量不同,导致程序不能识别命名空间,而将BDF1认作宏变量,进而出现不能识别“;“的错误。 将宏命名修改后问题解决。