linux平台c++运行报错之invalid pointer

问题描述:

c++应用程序在运行过程中报错“munmap_chunk():invalid pointer”“Aborted(core dumped)”


原因分析:

报错代码如下:

for (int i = 1; i < 100; i++)
	{
		const uchar *p =ChanneY.ptr(i);
		for (int j = 1; j < 100; j++)
		{
			temp = *p++;
			if (temp > 250)
			{
				PixelNum++;
			}
		}
		delete p;
	}

delete的作用是释放内存块,不可以用来清理指针,delete必须与new一一对应,该处的指针p在循环退出后会自动清理;


解决方案:

删除delete p这行语句即可;

你可能感兴趣的:(linux系统,#,C++编程基础,c++,开发语言)