警告  C6385   从“m”中读取的数据无效: 可读大小为“col*sizeof(int)”个字节,但可能读取了“8”个字节。  
警告 C6386 写入到“m”时缓冲区溢出: 可写大小为“col*sizeof(int)”个字节,但可能写入了“8”个字节
这两个警告都与动态数组的可变大小与实际使用的下标有关
如以下代码
void Knap::dp() {
// if (n <= 2 || c <= 0) return; int** m = new int* [n];
for (int i = ; i < n; i++)
m[i] = new int[c + ]{ }; ...
for (int i = n - ; i > ; i--) {
...
for (int j = w[i]; j <= c; j++)
m[i][j] = max(m[i + ][j], m[i + ][j - w[i]] + v[i]);
} m[][c] = m[][c];
if (c >= w[])
m[][c] = max(m[][c], m[][c - w[]] + v[]); ...
for (int i = ; i < n; i++)
delete[] m[i];
delete[] m;
}

二维数组m申请了 n * (c+1) 大小的空间,维度是变量

但在实际操作中下标用到了 n-2,和m[1][c],因此至少要求n>2

取消第一行的注释,可以消除C6385警告

 
 

C++动态数组中的C6385, C6386警告的更多相关文章

  1. [VBS]脚本中的字典、动态数组、队列和堆栈

    今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...

  2. DelphiXe 中静态数组TByteArray和动态数组TBytes /array of byte 的区别

    在应用中发现静态数组和动态数组是有区别的: procedure TForm1.Button1Click(Sender: TObject);var  RsltStream: TMemoryStream; ...

  3. C#动态数组ArrayList和List<T>的比较

    C#中一维动态数组(即列表)分ArrayList和List<T>两种,其容量可随着我们的需要自动进行扩充 一.ArrayList类(少用) ArrayList位于System.Collec ...

  4. VBS基础篇 - 动态数组

    VBS中的动态数组需要使用System.Collections.ArrayList '建立动态数组 Dim Arrl : Set Arrl = CreateObject("System.Co ...

  5. Delphi 的动态数组

    传统的Pascal 语言其数组大小是预先确定的,当你用数组结构声明数据类型时,你必须指定数组元素的个数.专业程序员也许知道些许动态数组的实现技术,一般是采用指针,用手工分配并释放所需的内存. Delp ...

  6. 【足迹C++primer】40、动态数组

    动态数组 C++语言定义了第二种new表达式语法.能够分配并初始化一个对象数组.标准库中包括 一个名为allocator的类.同意我们将分配和初始化分离. 12.2.1 new和数组 void fun ...

  7. Java动态数组

    其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList. ...

  8. C++ Primer 笔记——动态数组

    1.动态数组定义时也需要指明数组的大小,但是可以不是常量. int i; int arr[i]; // 错误,数组的大小必须为常量 int *p = new int[i]; // 正确,大小不必是常量 ...

  9. C基础 万能动态数组

    引言 - 动态数组切入 开发中动态类型无外乎list 或者 vector, 这里就是在C中实现vector结构容器部分. 对于C中使用的数据结构, 可以参照下面感觉很不错框架源码学习 , 感觉是< ...

随机推荐

  1. iphone 内存检测工具

    http://latest.docs.nimbuskit.info/NimbusOverview.html Nimbus Overview Sub-Modules Sensors Overview L ...

  2. mysql 忘记root密码的处理办法

    参考地址: https://blog.csdn.net/vv19910825/article/details/82979563 1.修改配置文件mysql\bin\my.ini 在文本  [mysql ...

  3. 从DataTable中删除不被控件支持的字段类型

    DataTable dt = DB.GetDataTable(sql);                        //从dt中删除不被控件支持的字段类型            for (int ...

  4. offsetheight 和clientheight、scrollheight、scrollTop区别

    clientHeight:元素客户区的大小,指的是元素内容及其边框所占据的空间大小(经过实践取出来的大多是视口大小) scrollHeight: 滚动大小,指的是包含滚动内容的元素大小(元素内容的总高 ...

  5. Redis源码解析:03字典

    字典是一种用于保存键值对(key value pair)的抽象数据结构.在字典中,一个键和一个值进行关联,就是所谓的键值对.字典中的每个键都是独一无二的,可以根据键查找.更新值,或者删除整个键值对等等 ...

  6. Knative Eventing 中如何实现 Registry 事件注册机制

    摘要: 在最新的 Knative Eventing 0.6 版本中新增了 Registry 特性, 为什么要增加这个特性, 该特性是如何实现的.针对这些问题,希望通过本篇文章给出答案. 背景 作为事件 ...

  7. vue iframe嵌套页面高度自适应 (ios 宽度扩大的bug , ios展示比例问题)

    <template>   <div class="card-index pt-relative">     <div id="wrapper ...

  8. 深入Java线程管理(一):线程的实现方式

    Java的线程实现方式一共有三种,继承Thread.实现Runable接口,实现Callable接口.不过实现Runnable接口与实现Callable接口的方式基本相同,只是Callable接口里定 ...

  9. Python--day72--ajax完整版

    来源: AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格 ...

  10. lrj 9.4.1 最长上升子序列 LIS

    p275 d(i)是以Ai为结尾的最长上升子序列的长度 <算法竞赛入门经典-训练指南>p62 问题6 提供了一种优化到 O(nlogn)的方法. 文本中用g(i)表示d值为i的最小状态编号 ...