我正在尝试使用clang 3.6' - std = c ++ 1z'进行折叠表达式,但是我不太了解。我正在测试的功能是:
auto minus = [](auto... args) { return (args - ...); };
...
std::cout << minus(10, 3, 2) << std::endl;
根据n4191,我希望它可以扩展为左侧折叠
(10 - 3) - 2
给出结果5,然而,结果是9,这似乎是一个正确的倍数扩张,即
10 - (3 - 2)
我错过了什么或误解了n4191吗? 感谢