我需要在一个C++/CLI项目中使用C库的部分代码。我已经强制将c文件编译为c ++,但问题是该库使用了许多隐式枚举到整数的比较,而c ++不允许这样做。现在我可以适当地转换所有这些,但如果可能的话,我希望在不修改原始库代码的情况下实现结果(因为该库仍在开发中,我希望具有即插即用的功能)。是否有一种方法可以允许c ++隐式转换这些枚举值?
我需要在一个C++/CLI项目中使用C库的部分代码。我已经强制将c文件编译为c ++,但问题是该库使用了许多隐式枚举到整数的比较,而c ++不允许这样做。现在我可以适当地转换所有这些,但如果可能的话,我希望在不修改原始库代码的情况下实现结果(因为该库仍在开发中,我希望具有即插即用的功能)。是否有一种方法可以允许c ++隐式转换这些枚举值?
这位学究的回答是不。
C++标准在这方面比C标准更严格,从整数到枚举类型或从void*
到T*
的隐式转换不能直接进行。