热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

0x77E2E43E(ntdll.dll)(xuexi.exe中)处有未经处理的异常:0xC0000005:读取位置0x4F774B16时发生访问

#include<iostream>#include<math.h>#include<cmath>usingnamespacestd;
#include 
#include
#include

using namespace std;

class Matrix
{
private:
double *data=NULL;
int r_hang=0,c_lie=0;
public:
Matrix::Matrix();

Matrix::Matrix(int , int  ) ;
Matrix  Matrix::operator+(const Matrix &m);
Matrix::~Matrix();
void Matrix::GetData();
void Matrix::ShowData();
};
Matrix::Matrix()
{
data = new double[c_lie*r_hang ];
for (int i = 0;i < r_hang*c_lie;i++)
data[i] = 0;
}
Matrix::Matrix(int row, int col)
{

r_hang = row;
c_lie = col;

data = new double(row*col);
for (int i = 0;i < row*col;i++)
{
data[i] = 0;
}





}

Matrix  Matrix::operator+(const Matrix &m)
{
if (r_hang != m.r_hang || c_lie != m.c_lie) exit(0);
Matrix temp;
temp.data = new double[r_hang*c_lie];
for (int i = 0;i < r_hang*c_lie;i++)
temp.data[i] = m.data[i] + data[i];
return temp;
}

void Matrix::GetData()
{
cout << "请输入矩阵" << endl;

for (int i = 0;i < r_hang*c_lie;i++)
{

cout << "data[" << (i/ c_lie)+1 << "]" << "[" <<( i %c_lie)+1 << "]" ;
cin >> data[i];

}
}

void Matrix::ShowData()
{
for (int i = 0;i < r_hang*c_lie;i++)
{
if (i% c_lie == 0) cout << endl;
cout << data[i]<<" ";
cout << data;
}
cout << endl;
}

Matrix::~Matrix()
{
delete[] data;
}

int main()
{
int row1, row2, col1, col2;

cout << "行、列" << endl;
cin >> row1 >> col1;
Matrix arr1(row1, col1);
arr1.GetData();

arr1.ShowData();

cout << "行、列" << endl;
cin >> row2 >> col2;
Matrix arr2(row2, col2);
arr2.GetData();
arr2.ShowData();
Matrix arr3 = arr1 + arr2;

arr3.ShowData();
return 0;
}



小白一个,这段代码我怎么看不哪有问题,请前辈们指点下!

6 个解决方案

#1


试试
data = new double(row*col);


改成

data = new double[row*col];

#2


引用 1 楼 hefashion0190 的回复:
试试
data = new double(row*col);


改成

data = new double[row*col];

++

#3



data = new double[row*col];


这个地方应该是中括号,你用的圆括号,相当于只new了一个double值,并初始化为row*col。

#4


谢谢几位的回答,但是我把这个问题改了之后,还是有问题
“xuexi.exe”(Win32): 已加载“F:\第1天\xuexi\Debug\xuexi.exe”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcp140d.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\vcruntime140d.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\ucrtbased.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-localization-l1-2-0.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-processthreads-l1-1-1.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-file-l1-2-0.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-timezone-l1-1-0.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-file-l2-1-0.dll”。已加载符号。
“xuexi.exe”(Win32): 已加载“C:\Windows\SysWOW64\api-ms-win-core-synch-l1-2-0.dll”。已加载符号。
HEAP[xuexi.exe]: Invalid address specified to RtlValidateHeap( 00810000, 0083BB10 )
xuexi.exe 已触发了一个断点。

#5


#6


崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处, 看不懂时双击下一行,直到能看懂为止

推荐阅读
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • Halcon之图像梯度、图像边缘、USM锐化
    图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像梯度、图像边缘、USM锐化图像卷积:1.模糊2.梯度3.边缘4.锐化1.视频教程:B站、 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • ### 优化后的摘要本文对 HDU ACM 1073 题目进行了详细解析,该题属于基础字符串处理范畴。通过分析题目要求,我们可以发现这是一道较为简单的题目。代码实现中使用了 C++ 语言,并定义了一个常量 `N` 用于字符串长度的限制。主要操作包括字符串的输入、处理和输出,具体步骤涉及字符数组的初始化和字符串的逆序操作。通过对该题目的深入探讨,读者可以更好地理解字符串处理的基本方法和技巧。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 该问题可能由守护进程配置不当引起,例如未识别的JVM选项或内存分配不足。建议检查并调整JVM参数,确保为对象堆预留足够的内存空间(至少1572864KB)。此外,还可以优化应用程序的内存使用,减少不必要的内存消耗。 ... [详细]
  • 本文提供了一个C++程序,用于读取一系列整数并统计其中正整数和负整数的个数。当输入为0时,程序结束。 ... [详细]
  • 使用虚拟机配置服务器
    本文详细介绍了如何使用虚拟机配置服务器,包括购买云服务器的操作步骤、系统默认配置以及相关注意事项。通过这些步骤,您可以高效地配置和管理您的服务器。 ... [详细]
  • poj 3352 Road Construction ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • Codeforces竞赛解析:Educational Round 84(Div. 2评级),题目A:奇数和问题
    Codeforces竞赛解析:Educational Round 84(Div. 2评级),题目A:奇数和问题 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • Vue CLI 初始化 Webpack 项目时,main.js 文件是如何被调用的? ... [详细]
author-avatar
三号天宫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有