首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在什么情况下C++报头不可传递?

在什么情况下C++报头不可传递?
EN

Stack Overflow用户
提问于 2013-02-22 11:28:09
回答 1查看 806关注 0票数 0

我刚刚遇到了一种情况,我#包含了一个头,我遇到了编译错误,需要我#包含已经包含在原始头中的头。

header包含以下内容:

代码语言:javascript
复制
#pragma once

#include <atlbase.h>
#include <atlcom.h>

#include "itestobj.h"

extern "C" ITestObj* WINAPI GetTestObj();

然后,当我针对这些错误进行编码时,我得到了一堆与ATL相关的编译错误,这些错误可以通过在C++文件中包含atlbase.hatlcom.h以及上面的头文件来解决。

为什么不像通常情况下那样包含这些头文件呢?

EN

回答 1

Stack Overflow用户

发布于 2013-02-22 11:33:04

很可能,这些头文件中至少有一个包含了您在帖子中显示的文件。因为#pramga once告诉你的编译器只包含它一次,所以它会停止并且你不会得到所有的声明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15016322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档