vs2005 新手问题

hiwsy 2008-03-29 10:35:07
怎么在vs2005下进行文件连接的?
比如:#ifndef link
#define link
void print();
//#include "link_c.cpp"
#endif
----------------
#include "link_h.h
#include <iostream>
using namespace std;
void print()
{
cout<<"hello"<<endl;
}
----------------
其他文件包含这头文件就编译不了,怎么在VC6.0下可以?
错误:function 'void print(void)' already has a body,newline in constant.
...全文
56 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜雨_倚琴 2008-03-29
  • 打赏
  • 举报
回复
.h文件一般包含的是声明文件,.cpp文件才是具体实现的。
在一个工程里,包含.h文件就可以调用函数了,函数实现代码的定位 这个是由链接器来完成的。
ttkk_2007 2008-03-29
  • 打赏
  • 举报
回复
#ifndef link
#define link


#endif
void print();
hiwsy 2008-03-29
  • 打赏
  • 举报
回复
头文件中不需要包含函数实现的文件么?
其他源文件是怎么调用这个头文件中的函数的?
canybox 2008-03-29
  • 打赏
  • 举报
回复
条件编译,保证引用一次就够了
夜雨_倚琴 2008-03-29
  • 打赏
  • 举报
回复
你头文件被包含多次。
print也实现了多次,link的时候当然会报错了。

应该修改.h文件

#ifndef PRINT_H
#define PRINT_H

//头文件内容

#endif
jintianfree 2008-03-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hiwsy 的回复:]
头文件中不需要包含函数实现的文件么?
其他源文件是怎么调用这个头文件中的函数的?
[/Quote]

.h文件中,是函数声明,.cpp文件中定义函数。调用文件的文件中只需包含.h文件即可。

例如:

////////////////////

//FILE头文件

#ifndef FILE_H
#define FILE_H

void FunctionOne();
void FunctionTWO();

#endif
///////////////////////

//FILE源文件

#include"file.h"

void FunctionOne()
{}
void FunctionTwo()
{}

///////////////////////////
#include "file.h"

int _tmain(int argc, _TCHAR* argv[])
{
FunctionOne();
FunctionTwo();
}



偶借这个机会问点东西:
VS2005的快捷键都是什么?例如插入类,插入函数,插入变量,等等常用操作,如果都用鼠标点的话,很麻烦。
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-29 10:35
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下