哪位高手帮忙看下,怎么会有错呀?
//利用栈实现的迷宫问题非递归解法.cpp
#include <iostream>
#include <iomanip>
using namespace std;
//Stack.h Stack by chain
#ifndef CALCULATOR_HEAD
#define CALCULATOR_HEAD
#include <iostream>
using namespace std;
#endif
struct items
{//栈中三元组结构
int x,y,dir;
};
//////////////////////////////////////////////////////////////////////////
template <class Type>
class Stack; //声明
//////////////////////////////////////////////////////////////////////////
// define stack by chain...
template<class Type>
class StackNode
{// Stack-node by chain
friend Stack<Type>;
private:
Type Data;
StackNode<Type> * link;
StackNode(Type d,StackNode<Type> *l=NULL):Data(d),link(l)
{
}
public:
};
template <class Type>
class Stack
{// Stack by chain
friend ofstream & operator << (ofstream & Out,Stack<Type> StkObj)
{
return Out;
}
private:
StackNode<Type>* top;
public:
Stack():top(NULL) { } //构造函数 ,construct
~Stack();//distruct
bool IsEmpty();//judge whether is a empty stack
void MakeEmpty();//clear stack...
void Push(const Type&item);//压栈
Type Pop();//出栈
Type GetTop();//得栈头结点值
};
////////////////////the member function of class Stack<Type>//////////////////////////////////////////////////////
template <class Type>
bool Stack<Type>::IsEmpty()
{//是空链表栈吗?
return this->top==NULL;
}
template <class Type>
Stack<Type>::~Stack()
{
if (IsEmpty())
return ;
MakeEmpty();
return ;
}
template <class Type>
void Stack<Type>::MakeEmpty()
{//make the chain-stack emty
StackNode<Type> *pTemp=NULL;
if (IsEmpty())
return ;
while (top)
{
pTemp=top->link;
delete top;
top=pTemp;
}
return ;
}
template <class Type>
void Stack<Type>::Push(const Type&item)
{//压栈...
top=new StackNode<Type>(item,top);
return ;
}
template <class Type>
Type Stack<Type>::Pop()
{
StackNode<Type> *pTemp=NULL;
Type RetValue;
pTemp=top;
top=top->link;
RetValue=pTemp->Data;
delete pTemp;
return RetValue;
}
template <class Type>
Type Stack<Type>:: GetTop()
{
return top->Data;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////
//
void main(void)
{
Stack<float> StkObjMaze;//设置工作栈
cout<<StkObjMaze;
}
编译器提示: error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class Stack<struct items>' (or there is no acceptable conversion)
#include <iostream>
#include <iomanip>
using namespace std;
//Stack.h Stack by chain
#ifndef CALCULATOR_HEAD
#define CALCULATOR_HEAD
#include <iostream>
using namespace std;
#endif
struct items
{//栈中三元组结构
int x,y,dir;
};
//////////////////////////////////////////////////////////////////////////
template <class Type>
class Stack; //声明
//////////////////////////////////////////////////////////////////////////
// define stack by chain...
template<class Type>
class StackNode
{// Stack-node by chain
friend Stack<Type>;
private:
Type Data;
StackNode<Type> * link;
StackNode(Type d,StackNode<Type> *l=NULL):Data(d),link(l)
{
}
public:
};
template <class Type>
class Stack
{// Stack by chain
friend ofstream & operator << (ofstream & Out,Stack<Type> StkObj)
{
return Out;
}
private:
StackNode<Type>* top;
public:
Stack():top(NULL) { } //构造函数 ,construct
~Stack();//distruct
bool IsEmpty();//judge whether is a empty stack
void MakeEmpty();//clear stack...
void Push(const Type&item);//压栈
Type Pop();//出栈
Type GetTop();//得栈头结点值
};
////////////////////the member function of class Stack<Type>//////////////////////////////////////////////////////
template <class Type>
bool Stack<Type>::IsEmpty()
{//是空链表栈吗?
return this->top==NULL;
}
template <class Type>
Stack<Type>::~Stack()
{
if (IsEmpty())
return ;
MakeEmpty();
return ;
}
template <class Type>
void Stack<Type>::MakeEmpty()
{//make the chain-stack emty
StackNode<Type> *pTemp=NULL;
if (IsEmpty())
return ;
while (top)
{
pTemp=top->link;
delete top;
top=pTemp;
}
return ;
}
template <class Type>
void Stack<Type>::Push(const Type&item)
{//压栈...
top=new StackNode<Type>(item,top);
return ;
}
template <class Type>
Type Stack<Type>::Pop()
{
StackNode<Type> *pTemp=NULL;
Type RetValue;
pTemp=top;
top=top->link;
RetValue=pTemp->Data;
delete pTemp;
return RetValue;
}
template <class Type>
Type Stack<Type>:: GetTop()
{
return top->Data;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////
//
void main(void)
{
Stack<float> StkObjMaze;//设置工作栈
cout<<StkObjMaze;
}
编译器提示: error C2679: binary '<<' : no operator defined which takes a right-hand operand of type 'class Stack<struct items>' (or there is no acceptable conversion)
...全文
相关推荐
资源有错资源有错资源有错
资源有错资源有错资源有错资源有错资源有错资源有错资源有错资源有错资源有错资源有错资源有错资源有错
一个有错的简易聊天室代码
一个有错的简易聊天室代码
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
今天使用代码进行PHP生成校验码功能的实现,发现firefox一直提示“图像…….因其本身有错无法显示”的问题,作者也提示了说“如果浏览器显示“图像XXX因其本身有错无法显示”,可尽量去掉文中空格”,但把代码中所有空格都去掉了还是不能显示检验图片。于是深度google,大部分的解决方案也是将“<?”这句代码前的空格回车一切都删掉以防止有html输出,但这根本解决不了我的问题,后来看到有人在Header(“Content-type: image/PNG”);这句代码前使用ob_clean()清除输出,结果一试之下果然成功。现将原代码修改后贴到下面,以备不时之需: 确认码生成文件checkNum_
代码有错android医疗问卷.rar
代码有错android医疗问卷.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
高等教育心理学-试题集答案有错请改.doc
高等教育心理学-试题集答案有错请改.doc


