社区
C++ 语言
帖子详情
C++运行失败,高手指教
haiyan0106
2007-04-19 05:48:52
运行一个简单的C++程序,编译没有错,运行出错了。说是Debug assertion Failed,也不知道怎么回事,请大家指教一下。
...全文
293
10
打赏
收藏
C++运行失败,高手指教
运行一个简单的C++程序,编译没有错,运行出错了。说是Debug assertion Failed,也不知道怎么回事,请大家指教一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
060
2007-04-19
打赏
举报
回复
有看出一个,不知是不是错误所在
我认为
Queue<elemType> operator +(elemType e)
应当返回Queue<elemType>&, 引用类型.
如果按照lz的返回Queue<elemType> ,将在这个函数返回时,创建临时对象.
060
2007-04-19
打赏
举报
回复
是一个循环队列?
有一个错误
Queue(int First=0,int Last=0,int CurrentNum=0):_First(First),_Last(Last),_CurrentNum(CurrentNum)
{
_pArray=new elemType[MaxNum];
for ( int ix=0; ix < MaxNum; ++ix )
_pArray[ ix ] = 0;
// 既然使用了模版,这个等号右边就不要使用整型的0,可以使用默认构造函数elemType()
}
taodm
2007-04-19
打赏
举报
回复
太长!自己上调试器单步跟踪,看错在哪行。
yutaooo
2007-04-19
打赏
举报
回复
exit(1); 前的cerr有输出吗? 我觉得这里最可疑.
yutaooo
2007-04-19
打赏
举报
回复
看的我一身汗,也没看明白!
继续...
haiyan0106
2007-04-19
打赏
举报
回复
代码如下,大家指教一下。
#include<iostream>
using namespace std;
template <class elemType> class Queue;
const int MaxNum=10;
template <class elemType>
class Queue {
public:
//¹¹Ô캯Êý
Queue(int First=0,int Last=0,int CurrentNum=0):_First(First),_Last(Last),_CurrentNum(CurrentNum){
_pArray=new elemType[MaxNum];
// ³õʼ»¯ÄÚ´æ
for ( int ix=0; ix < MaxNum; ++ix )
_pArray[ ix ] = 0;
}
~Queue(){delete [] _pArray;}//Îö¹¹º¯Êý
bool Empty() const;//Åж϶ÓÁÐÊÇ·ñΪ¿Õ
bool Full() const; //Åж϶ÓÁÐÊÇ·ñÒÑÂú
Queue<elemType> operator +(elemType e);//Ïò¶ÓÁÐÖмÓÈëÔªËØ
elemType operator-();//´Ó¶ÓÁÐÖÐÌáÈ¡ÔªËØ
int getMaxNum(){return MaxNum;}//·µ»Ø»·ÐζÓÔÊÐí´æ´¢µÄÔªËØ¸öÊý×î´óÖµ
int getCurrentNum(){return _CurrentNum;}//·µ»Øµ±Ç°µÄÓÐÐ§ÔªËØ¸öÊý
void Display() const;//ÏÔʾ¶ÓÁÐÖеÄÖµ
private:
int _CurrentNum;//µ±Ç°µÄÓÐÐ§ÔªËØ¸öÊý
int _First;//¶ÓÊ×ÔªËØ
int _Last;//¶ÓÎ²ÔªËØµÄÏÂÒ»¸öλÖÃ
elemType* _pArray;//ÓÃÓÚ´æ·Å¶ÓÁеÄÊý×é
};
//Åж϶ÓÁÐÊÇ·ñΪ¿Õ
template <class elemType>
bool Queue<elemType>::Empty() const
{
return (_CurrentNum==0);
}
//Åж϶ÓÁÐÊÇ·ñÒÑÂú
template <class elemType>
bool Queue<elemType>::Full() const
{
return ((_Last+1)%MaxNum==_First);
}
//Ïò¶ÓÁÐÖмÓÈëÔªËØ
template <class elemType>
Queue<elemType> Queue<elemType>::operator +(elemType e){
if(Full()){
cout<<"¶ÓÁÐÒÑÂú!"<<endl;
}
else{
_pArray[_Last]=e;
_Last=(_Last+1)%MaxNum;
_CurrentNum++;
}
return *this;
}
//´Ó¶ÓÁÐÖÐÌáÈ¡ÔªËØ
template <class elemType>
elemType Queue<elemType>::operator-(){
if(!Empty()){
elemType e=_pArray[_First];
_First=(_First+1)%MaxNum;
_CurrentNum--;
return e;
}
else{
cerr<<"¶ÓÁÐÒѿգ¡"<<endl;
exit(1);
}
}
// ÏÔʾ¶ÓÁÐÖеÄÔªËØ
template <class elemType>
void Queue<elemType>::Display() const
{
for (int i =_First; i<_Last; i =(i++) % MaxNum)
cout<<_pArray[i]<<" ";
cout<<endl;
}
int main()
{
Queue<int> a;
a+10;
// a+14;
// a+3;
// a+6;
// a+10;
// a+14;
// a+3;
// a+6;
// a+10;
//a+14;
//a+3;
//a+6;
a.Display();
// int s=-a;
// cout<<s<<endl;
// a.Display();
// s=-a;
// cout<<s<<endl;
/// a.Display();
// s=-a;
// cout<<s<<endl;
// a.Display();
// s=-a;
// cout<<s<<endl;
// a.Display();
return 0;
}
VCLIFE
2007-04-19
打赏
举报
回复
难道用的是VS2005?
hellox
2007-04-19
打赏
举报
回复
原因很多。.代码呢?
iu_81
2007-04-19
打赏
举报
回复
指针没有初始化,或指针操作不当
mochen5460
2007-04-19
打赏
举报
回复
一般和内存关,数组越界一类的
python安装launcher要选吗_安装 Python 这么多次,到底装了啥
这个选项既然如此重要,为什么安装包不把它作为默认勾选状态呢?细心点的小伙伴还会注意到,在它上面还有个选项: Install launcher for all users(recommended)不但有默认勾选的待遇,而且还括弧,推荐。生怕你不选它。这个所谓的 launcher 是何方神圣,为啥优先级又比 PATH 高呢?为什么要默认安装 launcherPATH 的作用首先环境变量 PATH 的值...
python怎么安装到d盘-python必须装在c盘吗
python可以装在任意的系统盘中,没有强制要求,默认路径是装在C盘。为什么软件默认安装位置是在C盘?下面我们来说一说。首先,需要明确一点,如果操作系统被安装在D盘,就会发现少有软件会自动识别系统路径并出现D盘的默认安装位置,然而还是有些软件会显示C盘,这和软件安装包有关。所以,C盘并不是绝对的,但一定是很多软件开发商的默契所在,那些可以自动识别系统分区并默认了安装位置为系统盘所在的软件便是在尊重...
python装包方法总结
总结了python装包的四种方法 分别是在pycharm中装包、在cmd中装包、使用whl文件装包、使用国内镜像网站装包。
PyQt5+Python3.6.5实现简易安卓Apk装包器
PyQt5+Python3.6.5实现简易安卓Apk装包器导读一、准备工作二、设计装包器安装界面三、程序
运行
效果四、小结 导读 人生第一篇博客,之前从来都是找别人分享的博客,现在和大家分享自己尝试做了个简易的AndroidApk装包器,虽然不是很完善,但是还是实现了基本功能的,希望能有大佬指出不足指出,共同探讨技术。 一、准备工作 配置Python的开发环境:Python3.6.5 + pych...
源码安装Python学会有用还能装逼 | 解决各种坑
相信朋友们都看过这个零基础学习Python的开篇了 文章为了让新朋友快速写Python代码,直接推荐了绿色内置版安装。实际运用中也可以吗?当然也可以。 不过我们在服务器端,都是主流系统安装Python的。毕竟在大公司服务器成百上千不在话下,语言和软件都是有统筹管理的。(Docker镜像内本质也是走服务器安装的方式,只是被打包到镜像了) 开发者电脑安装 Window电脑,这个比较简单,我们进入Python官网,找到Installer下载安装。 如下图,一般都是64位的选择圈中的64-bit下载。 这个是ex
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章