int a【N】={1,2,3,4,5,6,7,8};
…
fun(a【N】,N,m ,k);
调用函数处报错c6385,求赐教
改为fun(a,N,m,k);
第一个参数因该是数组,要传递a,不是a[N]
查阅相关资料,首先怀疑的是strcpy在读取时超出了函数容量,导致内存溢出。(strcpy函数处理溢出的建议)如果是strcpy原因,则应该使用memcpy,确定读取字符的数量。
但测试后,确定不是strcpy原因,后又怀疑是BC开辟空间为0,不能写入,于是加入BC 指针判断,为NULL和指向空间为0时报错,但确定不是这个原因。
由于需要在给BC赋值时添加数组下标,确定数组位置。恰逢VS报错时提示空间为0,便将指针修改为0,再次运行,问题解决。
c6385错误通常是由于内存读取问题引起的。解决方法包括以下几步:
1.检查代码中是否有未初始化的变量,特别是指针。如果有,请确保在使用前初始化。
2.运行代码时,检查是否有内存泄漏或者越界访问的问题。使用内存泄漏检测工具或者动态检查工具来帮助解决此类问题。
3.检查是否有参数传递错误,比如类型不匹配或者参数过多或过少等。
4.检查程序中是否有死循环或者无限递归等问题,这些问题可能导致内存溢出或者运行时错误。
具体方法可根据上述几点进行排查和解决。