Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MSVC模板lambda函数参数包故障_C++_Templates_Variadic Templates_C++20_Fold Expression - Fatal编程技术网

C++ MSVC模板lambda函数参数包故障

C++ MSVC模板lambda函数参数包故障,c++,templates,variadic-templates,c++20,fold-expression,C++,Templates,Variadic Templates,C++20,Fold Expression,我偶然发现了一个错误,我不确定是什么原因造成的。您可以在此处找到代码: #包括 #定义使用包1 #如果使用_PACK==1 模板 自动应付账款(类型_-pack…pack) #否则 模板 自动ap() #恩迪夫 { 自动求和=[](std::index_序列){return(Is+…);}; 返回和(std::make_index_sequence{}); } int main() { 返回ap(); } 如果设置USE\u PACK 0一切都可以编译,否则我会得到一个奇怪的错误,关于Is…的

我偶然发现了一个错误,我不确定是什么原因造成的。您可以在此处找到代码:

#包括
#定义使用包1
#如果使用_PACK==1
模板
自动应付账款(类型_-pack…pack)
#否则
模板
自动ap()
#恩迪夫
{
自动求和=[](std::index_序列){return(Is+…);};
返回和(std::make_index_sequence{});
}
int main()
{
返回ap();
}

如果设置
USE\u PACK 0
一切都可以编译,否则我会得到一个奇怪的错误,关于
Is…
的扩展。这是一个编译器错误,还是我做错了什么?

如果不看到错误,很难判断。@Nicolas这就是godbolt链接的用途。但这是我在扩展时遇到的第一个错误:
错误C3546:“…”:没有可扩展的参数包。如果
使用\u PACK 0
,则不会出现任何错误。唯一的区别是父函数中的参数包,但我认为这不会影响lambda。在G++/Clang上,使用
-std=c++2a
标志可以很好地工作,只需做一个更改:
int…Is
应该是
size\t。。。是
,@rafix07,所以我猜这是一个编译器错误。我会向李女士报告的。