【发布时间】:2011-12-10 15:08:53
【问题描述】:
我将BufferOut 定义为一个 16 元素数组。
但我在调试时遇到此消息。
Run-Time Check Failure #2 - Stack around the variable 'BufferOut' was corrupted.
HIDBufferOut 是 char 数组的 16 个元素
HIDBufferOut BufferOut; // first element is the report ID
BufferOut[0] = 0;
BufferOut[1] = 211;
BufferOut[16] = 44;
BufferOut[4] = 4;
.
.
.
.
etc
【问题讨论】:
-
错误信息足够描述性。如果你想不通,那么我们也不能不看源代码。
-
HIDBufferOut BufferOut; // first element is the report ID BufferOut[0] = 0; BufferOut[1] = Marker(); BufferOut[16] = (int) 44; BufferOut[4] = typ; -
因为您要在数组中插入第 17 个元素
-
BufferOut 是一个16 元素的数组是什么? Marker() 实际上做了什么?什么是典型?您需要发布导致问题的代码的最小示例,并对变量是什么进行某种解释。
-
@user1091216 我看到你已经“更新”了你的代码。但是,我仍然看不到数组。你的 16 个元素的数组在哪里?我看到一个名为 BufferOut 的 HIDBufferOut .....