社区
C++ 语言
帖子详情
c++头文件同名问题
haovujn
2011-07-29 11:38:38
在C++程序中 #include "1.h" 和#include "2.h" 两个头文件后,在程序中再调用fun函数时,就产生问题,编译通都不过。不包含这两个头文件的时候就没有问题。这两个头文件不可改,硬件的接口. 我改如何是好啊?
...全文
767
29
打赏
收藏
c++头文件同名问题
在C++程序中 #include "1.h" 和#include "2.h" 两个头文件后,在程序中再调用fun函数时,就产生问题,编译通都不过。不包含这两个头文件的时候就没有问题。这两个头文件不可改,硬件的接口. 我改如何是好啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
willabc
2011-08-01
打赏
举报
回复
来学习学习!
toadzw
2011-08-01
打赏
举报
回复
[Quote=引用 20 楼 qingkongxiaoyang 的回复:]
确定问题产生的原因,是因为两个头文件中均有fun()方法?
指定类名。
还是两个头文件中引用了相同的其它头文件?
加入
#endif
.define..
#endif
防止头文件重复引用 。
[/Quote]
OK
一叶之舟
2011-08-01
打赏
举报
回复
second C linkage of overloaded function 'StartTimer' not allowed
see declaration of 'StartTimer'
提示已经说的很清楚了,StartTimer函数被生载了,而C是不支持重载,发果是包含了头文件出现,看头文件中是不是定义了该函数,与其它地方的定义不一致。
风吹PP凉SS
2011-08-01
打赏
举报
回复
是不是重复包含了
tompaz
2011-08-01
打赏
举报
回复
混分 的路过
haovujn
2011-08-01
打赏
举报
回复
[Quote=引用 18 楼 dizuo 的回复:]
// obj_1.h
C/C++ code
class Obj1
{
public:
static void do_stuff();
};
// obj_1.cpp
C/C++ code
#include "1.h" //设备1
void Obj1::do_stuff()
{
fun(); //调用设备1的函数
}
// obj_2.h
C/C++ ……
[/Quote]
我把.h 和.cpp封装成dll调用不知道可以不
boluomianbao
2011-07-29
打赏
举报
回复
哇 正在学习这个 LZ具体什么错误啊 我好标记个~
sandunfandeshijie
2011-07-29
打赏
举报
回复
2楼说的方法 可行
至善者善之敌
2011-07-29
打赏
举报
回复
没看清题目什么意思,是1.2里都有FUN所以错误?
帅得不敢出门
2011-07-29
打赏
举报
回复
加命名空间吧.
ryfdizuo
2011-07-29
打赏
举报
回复
不要同时引用两个h头文件。
pathuang68
2011-07-29
打赏
举报
回复
在C或者cpp文件的开始处,加上#pragma once试试
Michael_Xie
2011-07-29
打赏
举报
回复
什么问题都没有讲清楚,怎么解决啊?
c_losed
2011-07-29
打赏
举报
回复
看产生的问题 还有编译的错误进行调试
hai040
2011-07-29
打赏
举报
回复
#define fun funxx
#include "1.h"
#undef fun
烂方法
头文件改下没关系吧
复制一份到自己的目录里改
Jxiaoshen
2011-07-29
打赏
举报
回复
类名::fun()
欣客
2011-07-29
打赏
举报
回复
如果头文件不能改,只能该自己的程序了。
硬件A封装成类A包含1.h 封装fun函数
硬件B封装成类B包含2.h 封装fun函数
这个办法不错。。。
jernymy
2011-07-29
打赏
举报
回复
[Quote=引用 20 楼 qingkongxiaoyang 的回复:]
确定问题产生的原因,是因为两个头文件中均有fun()方法?
指定类名。
还是两个头文件中引用了相同的其它头文件?
加入
#endif
.define..
#endif
防止头文件重复引用 。
[/Quote]
支持这个
gzyyan249
2011-07-29
打赏
举报
回复
[Quote=引用 1 楼 jxiaoshen 的回复:]
类名::fun()
[/Quote]
+1
qingkongxiaoyang
2011-07-29
打赏
举报
回复
确定问题产生的原因,是因为两个头文件中均有fun()方法?
指定类名。
还是两个头文件中引用了相同的其它头文件?
加入
#endif
.define..
#endif
防止头文件重复引用 。
加载更多回复(9)
C++
面向对象
小知识1#include尽量不写到
头文件
中因为在预编译时,
头文件
会展开在展开后, 如果
头文件
中包含了过多的
头文件
, 编译速度会变慢尤其是自己编写的本地
头文件
小知识2 可以使用预声明(前置声明)来解决不在
头文件
中include的
问题
注意:预声明之后, 只能使用该类型的指针或者引用.
C++
头文件
的作用以及用法
C++
头文件
的作用以及用法前言一、
头文件
的作用二、
头文件
的用法2.1
头文件
的内容2.2使用系统提供的
头文件
2.3避免
头文件
被重复包含参考文献 前言
头文件
是C/
C++
程序不可缺少的组成部分,使用时,应该了解
头文件
的作用和相关规范。 一、
头文件
的作用 C/
C++
编译采用的是分离编译模式。在一个项目中,有多个源文件存在,但是它们总会有一些相同的内容,比如用户自定义类型、全局变量、全局函数的声明等。将这些内容抽取出来放到
头文件
中,提供给各个源文件包含,就可以避免想相同内容的重复书写,提高编程效率和代码安全性。所以
C++
头文件
的作用和用法
示例代码编译运行环境:Windows 64bits+VS2017+Debug+Win32。
头文件
是 C/
C++
程序不可或缺的组成部分,我们需要了解
头文件
的作用和相关规范。
深入理解和探讨
C++
头文件
包含
问题
1.
头文件
包含 1.1 系统
头文件
与自定义
头文件
使用预处理指令 #include 可以引用用户和系统
头文件
。它的形式有以下两种: #include <stdio.h> 这种形式用于引用系统
头文件
,编译器自带的
头文件
就是系统
头文件
,编译器编译时直接去系统目录找此
头文件
。 #include "header.h" 这种形式用于引用用户自定义
头文件
,它优先在包含当前文...
C++
头文件
中重定义
C++
头文件
中重定义
C++ 语言
64,646
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章