std :: experimental :: generator写入访问冲突

时间:2016-02-08 06:50:44

标签: c++ visual-c++ generator access-violation

我在Visual Studio 2015 Update 1上运行此代码,我在下面指出的地方遇到了非常奇怪的访问冲突错误。如果我将表达式简化为类似int mid = (max - min) / 2;的代码,则代码可以正常工作。

#include <experimental/generator>

std::experimental::generator<int> range(int min, int max)
{
    int mid = min + (max - min) / 2;  // write access violation
    yield mid;
}

int main()
{
    for (auto x : range(10, 20)) { }
}

有谁知道可能是什么问题?我怀疑它可能是编译器错误。

1 个答案:

答案 0 :(得分:0)

这是Visual Studio 2015 Update 1中已确认的错误: https://connect.microsoft.com/VisualStudio/feedback/details/2337518/std-experimental-generator-write-access-violation

据报道,它将在Update 2中修复