亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

invalid null pointer是咋回事,看了好久沒看出錯誤。

MyQueue.cpp

#include?"MyQueue.h"
#include<iostream>
using?namespace?std;

MyQueue::MyQueue(int?queueCapacity)
{
	m_iQueueCapacity?=?queueCapacity;
	//當前代碼可以調用ClearQueue()
	m_iHead?=?0;	//初始化隊頭
	m_iTail?=?0;	//初始化隊尾
	m_iQueueLen?=?0;	//一開始元素0個
	//默認構造函數要參數要賦初值
	m_pQueue?=?new?Customer[m_iQueueCapacity];
}

MyQueue::~MyQueue()
{
	delete[]?m_pQueue;
	m_pQueue?=?NULL;
}

void?MyQueue::ClearQueue()
{
	//清空,但內存不處理
	m_iHead?=?0;	
	m_iTail?=?0;	
	m_iQueueLen?=?0;	
}

bool?MyQueue::QueueEmpty()?const
{
	if?(m_iQueueLen?==?0)?
		return?true;
	else
		return?false;
	//return?m_iQueueLen?==?0???true?:?false;
}

bool?MyQueue::QueueFull()?const
{
	if?(m_iQueueLen?==?m_iQueueCapacity)
		return?true;
	else
		return?false;
}

int?MyQueue::QueueLength()?const
{
	return?m_iQueueLen;
}

bool?MyQueue::EnQueue(Customer?element)
{
	//判滿
	if?(QueueFull())
		return?false;
	m_pQueue[m_iTail]?=?element;
	m_iTail++;
	//循環
	m_iTail?=?m_iTail?%?m_iQueueCapacity;
	m_iQueueLen++;
	return?true;
}

bool?MyQueue::DeQueue(Customer?&element)
{
	if?(QueueEmpty())
		return?false;
	element?=??m_pQueue[m_iHead];
	m_iHead++;
	//循環
	m_iHead?=?m_iHead?%?m_iQueueCapacity;
	m_iQueueLen--;
	return?true;
}

void?MyQueue::QueueTraverse()
{
	//m_iHead?=?3時,m_iTale?=?1時,通過以下可以順利
	//打印出m_pQueue[3],m_pQueue[0]的值
	for?(int?i?=?m_iHead;?i?<?(m_iHead?+?m_iQueueLen);?i++)?{
		m_pQueue[i?%?m_iQueueCapacity].printInfo();
	}
}

demo.cpp

#include<iostream>
#include<stdlib.h>
#include?"MyQueue.h"
using?namespace?std;
/*******************************************
環形隊列的C++代碼檢測
*******************************************/
int?main(void)
{
	MyQueue?*p?=?new?MyQueue(4);
	Customer?c1("vortesnail",?21);
	Customer?c2("hello",?22);
	Customer?c3("world",?23);
	p->EnQueue(c1);
	p->EnQueue(c2);
	p->EnQueue(c3);

	p->QueueTraverse();


	delete?p;
	p?=?NULL;
	
	system("pause");
	return?0;
}

其他地方仔細看過了 沒錯,感覺出問題的應該在MyQueue里面,但是怎么也找不出錯誤。。

正在回答

2 回答

http://img1.sycdn.imooc.com//5a3c9952000134f804810554.jpg

加個大括號

0 回復 有任何疑惑可以回復我~
#1

vortesnail 提問者

額,單行if不用大括號的
2018-01-16 回復 有任何疑惑可以回復我~

錯誤截圖:http://img1.sycdn.imooc.com//581ebdb60001e50106770442.jpg

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

invalid null pointer是咋回事,看了好久沒看出錯誤。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號