作者aecho (星空下的鲔鱼)
看板C_and_CPP
标题Re: [问题] 关於infix->postfix
时间Sun Oct 25 09:09:27 2009
※ 引述《funnymean (funnymean)》之铭言:
: 我打好我的程式码之後
: debug没有de出来
: 可是也没有照我想的system("pause");停下来
: 我在每个地方插入cout也都不成功...
: 就很难找到问题到底出在哪边
: 我觉得应该是在中间那个infix 的function那边
: 因为我那边最没有把握
: C++底下给我的Message是
: [Linker error] undefined reference to 'infix(char)'
: Id returned 1 exit status
: 我用的是Dev-C++
: 下面是我的code
: http://nopaste.csie.org/36de3
: 大神们帮帮我~~~
大略看了一下…目前发现主要有两点…
1. 举例好了…
#include <stdio.h>
int main(void)
{
foo(4);
return 0;
}
void foo(int a)
{
printf("test\n");
}
像这样的程式, void foo()会在main里面被使用到,那他就必须在main之前先宣告。
做法一个是把void foo(int a)这整个function丢到main前面,
不然就是在main前面先做这样的声名:
void foo(int a);
int main(void)
... blabla...
以上就是为什麽你会得到一个Linker error原因。
2. stack的push(这边你的是add)和pop应该要做边界检查,
如push时要检查top的值是不是到达最大值,或是pop时stack里是不是空了…
简单说就是你的top的值可能比 0还小,或是比max (1024)还要来的大。
--
或许人生是一段整合内在的自己
并寻求人间一点真情的过程吧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.242.15
※ 编辑: aecho 来自: 59.115.242.15 (10/25 09:10)
1F:推 spir:stack找资料结构的书应该都有程式码可参考 10/25 09:17
2F:推 funnymean:谢谢你~ ^_^ 10/25 09:20