我在项目中使用了 2 个库。一个定义了一个Status
宏,另一个有一个Status
在命名空间中命名的类。
Status
我在代码中使用该类时遇到问题:
// first library
namespace Test {
class Status {};
}
// second library
#define Status int
// my code
int main() {
Test::Status test;
return 0;
}
错误:
error: expected unqualified-id before ‘int’
8 | #define Status int
我怎样才能在我的项目中使用这两个库?
如果您不需要使用
Status
第二个库定义的宏,那么您可以尝试以下操作:如果您希望能够使用
Status
第二个库定义的宏,您可以尝试以下操作:然后使用它来
Status2
代替Status
。编译代码
#define Status int
Test::Status test;
这里有一个冲突,因为你将 Status[word] 更改为 int,从而将以下语句转换
Test::Status test;
为此Test::int test;
所以为了解决这个问题你有很多选择