C++ 有没有一种方法允许c++;?
我需要在C++/CLI项目中使用C库的各个部分。我强迫C文件编译为C++,问题是库使用很多隐式枚举来进行C++比较所不允许的整数比较。现在我可以正确地强制转换所有这些,但如果可能的话,我希望在不修改原始库代码的情况下获得结果(因为库仍在开发中,我希望具有即插即用功能)。有没有一种方法允许C++隐式地转换这些枚举?< /p> < p>学究回答是<强>否<强> > < /P> < > C++标准比C标准严格,从整数到枚举器或从<>空> */COD>到C++ 有没有一种方法允许c++;?,c++,c,C++,C,我需要在C++/CLI项目中使用C库的各个部分。我强迫C文件编译为C++,问题是库使用很多隐式枚举来进行C++比较所不允许的整数比较。现在我可以正确地强制转换所有这些,但如果可能的话,我希望在不修改原始库代码的情况下获得结果(因为库仍在开发中,我希望具有即插即用功能)。有没有一种方法允许C++隐式地转换这些枚举?< /p> < p>学究回答是否 > < /P> < > C++标准比C标准严格,从整数到枚举器或从空> */COD>到t*的隐式转换不在框外。 您面前有两个解决方案: 您的编译器可
您面前有两个解决方案:
- 您的编译器可能有这样一个开关,使用编译器开关触发非标准行为(通常被视为“功能”)并不罕见;我不知道有这样的转换,但有这么多
- 您可以将C代码编译为C(如有必要,可以链接到单独的库中)
- 您可以编辑C代码,使其同时编译为C和C++
- 最后,由于它是一个正在开发的库,您可以要求作者确保他们的代码同时编译为C和C++