运行后出现undefined reference to `operator<<(std::ostream&, Coordinate&)'的错误

来源:3-2 案例完善

慕粉1471690861

2017-07-25 21:04

----------遍历函数-----------------------------------------

template<typename T>
void MyStack<T>::stackTraverse(bool Transform)
{
 if(Transform)
 {
  for(int i = 0; i < m_iTop; i++)
  {
   cout<<m_pBuffer[i];
   //m_pBuffer[i].printCoordinate();
  }
 }
 else
 {
  for(int i = m_iTop-1; i >= 0; i--)
  {
   cout<<m_pBuffer[i];
   //m_pBuffer[i].printCoordinate();
  }
 }
 cout<<endl;
}


------------重载-------------------------

ostream& operator<<(ostream &out, Coordinate &coor)
{
 out<<"<"<<coor.m_iX<<","<<coor.m_iY<<">"<<endl;
 return out;
}

写回答 关注

2回答

  • Cocoabeans
    2018-07-30 14:30:00

    可能是没有#include<ostream>和using namespace std

  • 一个严肃的小逗比
    2017-07-28 15:12:43

    头文件的问题吧,或者就是 你重载函数的时候出现了问题。


数据结构探险—栈篇

栈,先入后出(FILO),带领大家体会栈这种数据结构的美妙

62724 学习 · 102 问题

查看课程

相似问题