vs2008 工程中添加文件

一个工程加入三个文件a.cppintmain(){f();h();return0;}b.cppvoidh(){g();}c.cppintt;voidf(){t=1;cou... 一个工程 加入三个文件a.cpp int main(){f();h();return 0;}
b.cpp void h(){g();}
c.cpp int t;void f(){t=1;cout<<t<<endl;} void g(){t=2;cout<<t<<endl;}
这三个文件的include该怎么写 才能实现这段代码
展开
 我来答
汪好帅
2011-11-20 · TA获得超过2830个赞
知道大有可为答主
回答量:1177
采纳率:0%
帮助的人:1420万
展开全部
首先说下include的用法,它是包含头文件,是.h类型的文件,没有include.cpp文件的
所以,两个.cpp需要互相调用,就需要对应一个自己的.h头文件
a.cpp中
#include "b.h" //引用头文件,在头文件里写函数的定义部分,b.cpp中写函数的声明部分.
b.h格式
#ifndef B_HHHH
#define B_HHHH
//函数定义部分
#endif

同理引用c.cpp中的函数如b一样
更多追问追答
追问
找你说的改了 还是不行
追答
编译没错是吧?链接报错的问题吧?

看了你的图片,自己调试了下,虽然这个问题没有需要弄那么复杂,但是当遇到大工程的时候,确实又要面对这样的问题。那么下面给出如下收集到的解决办法。
你可以在头文件中,声明全局变量。extern int t;//即在c.h中声明全局变量t,然后在c.cpp文件当中定义int t;就ok了
也许这样违背了你的想法,但是。如果想了解的话,我发个这个问题报错的经验之谈给你。
流星梦阳
2011-11-20 · TA获得超过468个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:169万
展开全部
没办法用#include ,除非用头文件用#ifndef #define #endif 解决函数重复定义。
要是在一个工程里可以用声明外部函数的方法实现编译
//a.cpp
extern void f();
extern void h();
int main(){f();h();return 0;}
//b.cpp
extern void g();
void h(){g();}
//c.cpp
#include <iostream.h>
int t;
void f(){t=1;cout<<t<<endl;}
void g(){t=2;cout<<t<<endl;}
只有这样编译了勉强能通过,这样编程太不安全了,尽量用头文件
追问
如果用 头文件 和 #ifndef怎么写啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式