vc++关于编译问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 19:29:45
我用c++建立一个栈的时候把它单独放在一个文件stack.cpp的源文件中了,在主函数调用时 用#include "stack.cpp"了,在此期间我修改的PUSH的形参,原来是push(stack &s,int &a),后来改为是push(stack &s,bintree* &t)——这个函数才是我要用的,这样编译器就通不过了,报错的原因是我在主函数中定义了push(stack &,int &),可是我并没这样做过,我又改了栈名原来是 struck stack,后来是struck Stack,还是那样报错,后来我在stack.cpp中用了#ifdef。。。。#endif 这样编译通过了,可是调用的却是
push(stack &s,int &a),无法调用push(stack &s,bintree* &t),后来我把这个栈放在跟主函数在一个文件中了,这样在调用时却是重载了,以上我打过的三个函数,请问这是为什么啊,不知道我把问题说明白没,不明白的请说~~~
这个是编译器问题,函数形参改了,跟函数的实现无关,当然跟代码没关系拉,这是一个工程里面有stack.cpp和main.cpp两个文件,在我定义push这个函数过程中改了push 这个函数的形参,并且每次更改都储存了,push存放在stack.cpp中,
补充的在结合问题能看明白吗?这是个有点难度的问题~~~不要把我当菜鸟喔~~~~

贴代码出来。

不然看得很不明白。。
__________

补充:正因为看不明白你在说什么问题才要你贴代码的。。。你可能认为你把问题说明白了,但是在别人看来就不见得很清楚。

——————————————————
再补充,很多时候让你贴代码是因为大家能够帮你找或许你漏掉的问题,或者至少可以从全局考虑问题,这和你是不是菜鸟没关系。从目前你的描述来看,至少我没办法帮你找出问题,我想看看你stack.cpp里面到底是怎么写的,你在main.cpp里面到底是如何包含并调用的,如果你实在不肯贴出代码,那请你至少贴出编译连接给出的错误详细信息,我帮忙看看,再不行真没办法了。

好恐怖的描述,还是看代码吧。

好长呀……

结构太混乱了, 怎么竟然有#include "stack.cpp"? 贴代码吧!

把push(stack &s,int &a)的声明也改成push(stack &s,bintree* &t)