C++ 0xCCCCCCCC将字符串转换为 int 写入访问冲突_Left

C++ Converting string to int Write access violation _Left was 0xCCCCCCCC

本文关键字:访问冲突 Left int 0xCCCCCCCC 字符串 转换 C++      更新时间:2023-10-16

我是一个相对较新的C++,并试图制作一个小型策略游戏,但在尝试将字符串转换为整数时,我收到此错误:

写访问冲突。_Left 0xCCCCCCCC

Visual Studio带我进入了这段代码:

static void __CLRCALL_OR_CDECL assign(_Elem& _Left, const _Elem& _Right) 
_NOEXCEPT
{   // assign an element
_Left = _Right;
}

使用断点,我发现导致错误的代码行是这样的:CountryFromFile[x]。面积 = stoi(线);

国家/地区来源文件[x].Area 是一个整数,Line 是我从文件中读入的字符串 线绝对是数字,因为我使用 cout 进行检查。 有关如何解决此错误的任何帮助将不胜感激

更新

运行国家/地区从文件[x].面积 = 1;引发相同的错误。 我还测试了将 x 的值从 0 更改为 1 再到 2,没有变化

更新2

我已经弄乱了我的代码一段时间,通过删除代码行,我遇到了错误,我现在非常确定它是编译器,因为错误发生在其他地方,所以我删除了该行,错误发生在其他地方。当我尝试制作变量 = 某些东西时,错误不断发生

我在这里可能是错的,但是"CountryFromFile[x]。面积 = stoi(线)" 看起来不错。

0xCCCCCCCC是未初始化的内存,所以也许检查您是否已经初始化了"国家/地区文件"数组?如果是这样,请确保对象在某个时候实际被添加到其中,而不仅仅是空的。

问候,另一个 c++ 菜鸟。