计算器
1.扯淡
代码其实是在十几号时打的,花了半晚上加半个下午。但是懒得打随笔,所以到现在才完成。
我的课程里没找到queue,是百度照着瞎打的。
2.总结
不大理解要求,Scan在做的时候是默认输入一定为正常的算式做的,方法也比较暴力。但理解上如果作为计算器的输入过程从键盘输入,判断输入是否合法也应该是在这个过程中处理。
博客没有说明如何报错。我的做法是打印错误信息,返回空队列。
3.遇到困难
编译错误
D:\ProgramS\Calculator\main.o main.cpp:(.text+0x72): undefined reference to `Print::PutStringQueue(std::queue<std::string, std::deque<std::string, std::allocator > >)'
D:\ProgramS\Calculator\collect2.exe [Error] ld returned 1 exit status
25 D:\ProgramS\Calculator\Makefile.win recipe for target 'Calculator.exe' failed
弹出Makefile.win,25是$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
。这东西强行卡了我一下午,百度根本找不到正确的答案。
后来靠分解代码找到的bug原因,Print.cpp中6我打了
void PutStringQueue(queue q){
我忘了加Print::
真是了狗了