为什么此行让CL.exe退出?

时间:2019-06-09 11:54:11

标签: c++ visual-studio

我试图设置一个未分配的内存位置的值以获取异常,所以我一直在做的是获取一个整数(带有一个有效的内存位置)以获取其地址,并向其添加4(去希望是下一个整数),将其解引用并为其分配值(1):

int i = 20;
(*((&i) + 4)) = 1;

此行抛出一个错误,说

  

CL.exe退出,代码为2。

这是编译器错误吗?

注意:我正在VS 2019上使用Microsoft C ++编译器。

编辑:这是代码暗面的屏幕截图(添加是为了清楚表明这是我得到的唯一错误):

enter image description here

我只是想知道这是否是编译器错误,因为它没有显示适当的错误消息。

1 个答案:

答案 0 :(得分:2)

显然,这确实是一个编译器错误。 The fix,因为它已实施且该发行版正在等待中。

感谢Hans Passant的评论,我打开了一个错误,并将在以后的Visual Studio 2019更新中进行处理。