【发布时间】:2021-07-07 03:30:36
【问题描述】:
我知道以前有人问过这个问题,但我无法完全修复我的代码,甚至阅读其他主题。 有谁知道它为什么会抛出这个警告?
写入“LINES_DATA.Lines”时警告 C6386 缓冲区溢出:可写入大小为“LINES_DATA.NumLines”4 个字节,但可能写入“8”个字节。*
"
LINES_DATA.NumLines = line_i; //line_i = 100
LINES_DATA.Lines = new int* [LINES_DATA.NumLines];
line_i = 0;
for (rapidxml::xml_node<>* pNode = pRoot->first_node(); pNode; pNode = pNode->next_sibling())
{
LINES_DATA.Lines[line_i] = new int[COLUMNSIZE]; //COLUMNSIZE = 5
for (int pos_i = 0; pos_i < COLUMNSIZE; pos_i++)
{
LINES_DATA.Lines[line_i][pos_i] = pNode->value()[pos_i] - '0';
}
line_i++;
}
我在这一行收到警告:
LINES_DATA.Lines[line_i] = new int[COLUMNSIZE];
非常感谢
【问题讨论】:
标签: c++ visual-studio rapidxml