我在mainfrm.h中用了<queue>模板
#include <iostream>
#include <queue>
#include <deque>
using namespace std;#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
// Using queue with dequetypedef deque<char*, allocator<char*> > CHARDEQUE;
typedef queue<char*,CHARDEQUE, allocator<char*> > CHARQUEUE;class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)// Attributes
public:
CHARQUEUE m_SendQueue;然后再.cpp文件项队列中插入以字符串
m_SendQueue.Push("ok");
结果编译时出如下错误:
MainFrm.cpp
d:\unitopclient\mainfrm.h(30) : error C2977: 'queue' : too many template arguments
c:\program files\microsoft visual studio\vc98\include\queue(59) : see declaration of 'queue'
d:\unitopclient\mainfrm.h(107) : error C2079: 'm_SendQueue' uses undefined class 'queue<char *,class std::deque<char *,class std::allocator<char *> > >'
D:\UnitopClient\MainFrm.cpp(255) : error C2228: left of '.push' must have class/struct/union type
Generating Code...请指点迷津!
#include <iostream>
#include <queue>
#include <deque>
using namespace std;#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
// Using queue with dequetypedef deque<char*, allocator<char*> > CHARDEQUE;
typedef queue<char*,CHARDEQUE, allocator<char*> > CHARQUEUE;class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)// Attributes
public:
CHARQUEUE m_SendQueue;然后再.cpp文件项队列中插入以字符串
m_SendQueue.Push("ok");
结果编译时出如下错误:
MainFrm.cpp
d:\unitopclient\mainfrm.h(30) : error C2977: 'queue' : too many template arguments
c:\program files\microsoft visual studio\vc98\include\queue(59) : see declaration of 'queue'
d:\unitopclient\mainfrm.h(107) : error C2079: 'm_SendQueue' uses undefined class 'queue<char *,class std::deque<char *,class std::allocator<char *> > >'
D:\UnitopClient\MainFrm.cpp(255) : error C2228: left of '.push' must have class/struct/union type
Generating Code...请指点迷津!
template<class T, class Cont = deque<T> >
class queue {
//...
}摸班参数只需要2个!!!