问题描述
我正在 VS2019 v16.10.0 中使用 /std:c++latest 进行编程。使用以前版本的 VS2019 编译一切正常。现在,我在与 _DEPRECATE_TR1_NAMESPACE 相关的标头中收到许多错误。 我如何围绕此弃用进行编译?
错误示例如下:
error C2146: Syntax error: missing ';' before identifier 'subtract_with_carry_01'
引用的代码在哪里:
template <class _Ty,size_t _Wx,size_t _Sx,size_t _Rx>
class _DEPRECATE_TR1_NAMESPACE subtract_with_carry_01
: public _Swc_base<_Ty,_Sx,_Rx,_Swc_01_traits<_Ty,_Wx,_Rx>> { // subtract_with_carry_01 generator
解决方法
我发现的解决方法是
#define _HAS_TR1_NAMESPACE 0
在所有头文件之前。
或者添加_HAS_TR1_NAMESPACE=0;在预处理器定义中...
这让我可以使用最新的 C++ 语言!!