std::experimental::generator 写访问冲突
std::experimental::generator write 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)) { }
}
有谁知道可能是什么问题?我怀疑这可能是一个编译器错误。
这是 Visual Studio 2015 更新 1 中已确认的错误:
https://connect.microsoft.com/VisualStudio/feedback/details/2337518/std-experimental-generator-write-access-violation
据说会在更新 2 中修复
我是 运行 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)) { }
}
有谁知道可能是什么问题?我怀疑这可能是一个编译器错误。
这是 Visual Studio 2015 更新 1 中已确认的错误: https://connect.microsoft.com/VisualStudio/feedback/details/2337518/std-experimental-generator-write-access-violation
据说会在更新 2 中修复