>MSVCRTD.lib(exe_main.obj) : error LNK2019: 無法解析的外部符號 _main,該符號在函數(shù) "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用 1>C:\Users\Administrator\Desktop\studyspace\MyQueue\Debug\MyQueue.exe : fatal error LNK1120: 1 個無法解析的外部命令
#include "MyQueue.h"
#include <iostream>
using namespace std;
MyQueue::MyQueue(int QueueCapacity)
{
m_iQueueCapacity = QueueCapacity;
m_iHead = 0;
m_iTail = 0;
m_pQueue= new int(m_iQueueCapacity);
m_iQueuelen = 0;
}
MyQueue::~MyQueue()
{
delete []m_pQueue;
m_pQueue = NULL;
}
void MyQueue::ClearQueue()
{
m_iHead = 0;
m_iTail = 0;
m_iQueuelen = 0;
}
bool MyQueue::QueueEmpty()const
{
return m_iQueuelen == 0 ? true : false;
}
int MyQueue::QueueLengh()const
{
return m_iQueuelen;
}
bool MyQueue::Queuefull()const
{
return (m_iQueueCapacity == m_iQueuelen) ? true : false;
}
bool MyQueue::EnQueue(int element)
{
if (!Queuefull())
{
m_pQueue[m_iTail] = element;
m_iQueuelen++;
if (m_iTail<m_iQueueCapacity-1)
{
m_iTail++;
}
else
{
m_iTail = 0;
}
return true;
}
else
return false;
}
bool MyQueue::DeQueue(int &element)
{
if (Queuefull())
{
return false;
}
element = m_pQueue[m_iHead];
m_iQueuelen--;
if (m_iHead < m_iQueueCapacity - 1)
{
m_iHead++;
}
else
{
m_iHead = 0;
}
return true;
}
void MyQueue::QueueTraverse()
{
for (int i=m_iHead;i!=m_iTail;)
{
cout << m_pQueue[i] << endl;
if (i<m_iQueueCapacity - 1)
{
i++;
}
else
{
i = 0;
}
}
}
2017-04-03
在 ?DeQueue() 出隊 ? 函數(shù)部分有問題,判斷條件應(yīng)該是寫錯了,應(yīng)該是 ?if (Queueempty()) , 而不是if (Queuefull())?
2017-04-03
#include "MyQueue.h"
#include <iostream>
using namespace std;
int main(void)
{
MyQueue *Safe = new MyQueue(4);
Safe->EnQueue(4);
Safe->EnQueue(5);
//Safe->EnQueue(6);
Safe->QueueTraverse();
system("pause");
return 0;
}
當(dāng)加入第三個元素時就會崩潰,調(diào)試了半天也沒找到問題所在