当实现为Lambda时,自动的扣除不起作用。错误:在扣除'auto'之前

时间:2016-08-14 21:00:58

标签: c++ templates lambda c++14

这里我实现了模板化函数和模板化Lambda。我已经开始探索C ++ 14的功能,不知道下面的lambda有什么问题。有什么建议吗?

dates = ["10/12/2014", "12/12/2015", "12/31/2015", "14/08/2015"]

dates.sort(function(a, b) {
    var parseDate = function parseDate(dateAsString) {
            var dateParts = dateAsString.split("/");
            return new Date(parseInt(dateParts[2], 10), parseInt(dateParts[1], 10) - 1, parseInt(dateParts[0], 10));
        };

    return parseDate(b) - parseDate(a);
});

这是完整的代码http://ideone.com/lveJRN

1 个答案:

答案 0 :(得分:4)

代码很好。

您正在见证您的GCC版本(5.1)中的错误。鉴于可变模板在GCC 5中是全新的,这并不令人惊讶。

根据经验,它在GCC 6.1.1之前或之前被修复。

Bug 67041(更直接地,它的重叠bug 67350)看起来可能相关。