在不同的.cpp中传递值
一大早发问:
如果现在有两个.cpp文件在同一个工程中,分别为Abc.cpp和 Mn.cpp。
在Abc.cpp中有一个函数 bool GetMax::showAllMax(),其中有一个变量为int m_oStatus
现在想把int m_oStatus最后的结果或者是函数 bool GetMax::showAllMax()的最后的bool值传递到
Mn.cpp中使用,该怎么办呢?
是把m_oStatus定为全局变量么? (尝试了全局变量的方法好像不行啊,老是出现link错误,fatal error LNK1120: 1 unresolved externals)
还有没有其他办法?
谢谢!
[解决办法]
首先,我没有太看懂你的意思。所以下面说的可能不太对,包涵一下啊。
1、如果你要“把int m_oStatus最后的结果”“传递到Mn.cpp中使用”。根据我的理解,你是想在两个cpp文件中访问同一个全局变量。如果是这样的话,一般的做法是,Abc.cpp中*定义*这个变量
// Abc.cpp
int m_oStatus /*=0*/;
然后在对应的头文件Abc.h中*声明*这个变量:
// Abc.h
extern int m_oStatus;
最后,在Mn.cpp中 #include "Abc.h "。
经过这些步骤,如果不出意外的话,两个CPP中就都可以访问这个全局变量了。
当然,你也可以不用Abc.h,直接在Mn.cpp中extern。但是不推荐 :)
[解决办法]
2、想把“函数 bool GetMax::showAllMax()的最后的bool值传递到
Mn.cpp中使用”。根据我的理解,你是想在Mn.cpp中调用这个定义在Abc.cpp中的函数。
你可以在Abc.h中*声明*这个函数:
// Abc.h
bool GetMax::showAllMax();
然后在Mn.cpp中 #include "Abc.h "
就可以了。
当然,同上,你也已不用Abc.h,直接在Mn.cpp中声明。同样不推荐。
[解决办法]
Abc.cpp和 Mn.cpp。
Abc.h和 Mn.h。
你再建立一个main.cpp
把上面的两个.h包含了。
呵呵,一切就可以操作自如了。
毕竟两个.cpp都实力化成对象,
然后让两个对象进行传值
[解决办法]
晕死,这么个问题能讨论这么长.
我看楼主问题问的就有问题,似乎还没搞清楚文件和程序的关系呢.只有在程序运行起来后才会有传值的概念,大家说来说去函数的入口点都没有.就是说程序还没跑起来呢,还传个什么值啊,最起码的有个main函数吧.