c++栈的这个输出操作符重载哪错了,一直报错。但也没显示哪行错
- C/C++ code
ostream& operator<<(ostream& os,Stack<T>& a){ os<<"栈中元素个数:"<<a.getSize()<<endl; T x; linkNode<T>* p; p=top; while(p!=NULL){ os<<p->data<<endl; p=p->link; } return os;}
调用
Stack<char> sc;
cou<<sc;
1>------ 已启动生成: 项目: stack, 配置: Debug Win32 ------
1>生成启动时间为 2012/10/14 11:59:20。
1>InitializeBuildStatus:
1> 正在创建“Debug\stack.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
1>ClCompile:
1> main.cpp
1> Stack.h
1> 正在生成代码...
1>d:\c++ workspace\stack\stack\calculator.h(35): warning C4715: “Calculator::isp”: 不是所有的控件路径都返回值
1>d:\c++ workspace\stack\stack\calculator.h(47): warning C4715: “Calculator::icp”: 不是所有的控件路径都返回值
1>Link:
1> LINK : 没有找到 D:\C++ workspace\stack\Debug\stack.exe 或上一个增量链接没有生成它;正在执行完全链接
1>main.obj : error LNK2019: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Stack<char>)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@V?$Stack@D@@@Z),该符号在函数 _main 中被引用
1>D:\C++ workspace\stack\Debug\stack.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>
1>生成失败。
1>
1>已用时间 00:00:01.38
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
[解决办法]
缺singleList.h的内容。
缺linkNode的定义。
还是分析不出来。
我相信楼主的cout<<sc;里面的笔误只是一个笔误而已。