gpt4 book ai didi

c++ - 将整数数组复制到另一个数组时代码崩溃(使用整数指针)

转载 作者:行者123 更新时间:2023-11-30 01:17:09 24 4
gpt4 key购买 nike

我发现很难找出我下面的代码有什么问题。我试图将一个简单的整数指针作为我的结构构造函数的参数复制到我的本地整数指针(或 Interger 数组)之一。由于某些奇怪的原因,它在 for 循环内的第一次迭代中崩溃。 请帮忙

struct mystruct{
UINT8 command;
UINT8 nextOffset;
UINT8* writeBuffer1;
UINT8 checkSum;

mystruct( UINT8 devAddress, UINT8 commandIn, UINT8 nextOffsetIn, UINT8 bufferSizeIn, UINT8 dataBufcheckSumIn, UINT8* writeBufferIn )
: command( commandIn )
, nextOffset( nextOffsetIn )
{
writeBuffer1 = new UINT8[bufferSizeIn];
memset( &writeBuffer1, 0, bufferSizeIn );
for( int i = 0; i < bufferSizeIn; i++ ) {
writeBuffer1[i] = writeBufferIn[i]; //Program crashes here in the first iteration itself
}
checkSum = (UINT8) ~( devAddress + command + nextOffset + dataBufcheckSumIn) + 1; dbg::info() << "Line5" << std::endl;
}
};

最佳答案

你的问题在

memset( &writeBuffer1, 0, bufferSizeIn ); 

你不是在填充缓冲区,而是在覆盖成员变量。使用

memset( writeBuffer1, 0, bufferSizeIn ); 

关于c++ - 将整数数组复制到另一个数组时代码崩溃(使用整数指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com