You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++函数内修改传入的数组参数的问题排查

错误原因
  • 类型不匹配:*out_buffer是unsigned int类型的变量,而&updatedValues是数组指针,二者类型完全不兼容,赋值本身就是语法错误。
  • 局部变量生命周期错误:updatedValues是函数内的栈区局部数组,函数执行完成后这块内存会被自动回收,就算成功把地址赋值出去,后续访问也属于非法野指针访问。
  • 逻辑错误:你的需求是将updatedValues内的元素值复制到out_buffer指向的myArray内存空间中,而不是修改指针指向或者给单个元素赋值地址。
仅修改最后一行的修复方案

你需要使用内存拷贝函数把局部数组的内容复制到目标数组空间,注意需要提前引入<string.h>头文件,最后一行替换为如下代码即可:

memcpy(out_buffer, updatedValues, sizeof(updatedValues));

该函数会把updatedValues数组中全部5个unsigned int类型的元素值,完整拷贝到out_buffer指向的myArray内存地址,执行完成后myArray的元素就会被更新为1、2、3、4、5。

内容的提问来源于stack exchange,提问作者Jano Rajmond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:24:06