如果在c ++ 17中引入了折叠表达式,这在c ++ 14中为什么会发出警告?

问题描述 投票:1回答:1

我对模板还很陌生。我需要将库从c ++ 17转换为c ++ 14,以适合我的项目。除此警告外,我已成功完成所有代码:

warning: fold-expressions only available with -std=c++1z or -std=gnu++1z

但是问题是,如果在c ++ 17中引入了折叠表达式,为什么会发出警告?如果我不更改而保留代码,会有什么含义?

发出此警告的行是:

(check_param_type<typename std::decay<ParamTypes>::type>(index, params[index], GetType(type<typename std::decay<ParamTypes>::type>())), ...);

有问题的库是json-rpc-cxx,文件和行:include/jsonrpccxx/typemapper.hpp:93:143

非常感谢您的帮助。

c++ c++14 c++17 variadic-templates
1个回答
0
投票

您在c ++ 14中编译时已使用了c ++ 17中的功能。因此,他们警告您不能这样做。就这么简单!

© www.soinside.com 2019 - 2024. All rights reserved.