我刚刚遇到了一种情况,我#包含了一个头,我遇到了编译错误,需要我#包含已经包含在原始头中的头。
header包含以下内容:
#pragma once
#include <atlbase.h>
#include <atlcom.h>
#include "itestobj.h"
extern "C" ITestObj* WINAPI GetTestObj();然后,当我针对这些错误进行编码时,我得到了一堆与ATL相关的编译错误,这些错误可以通过在C++文件中包含atlbase.h和atlcom.h以及上面的头文件来解决。
为什么不像通常情况下那样包含这些头文件呢?
发布于 2013-02-22 11:33:04
很可能,这些头文件中至少有一个包含了您在帖子中显示的文件。因为#pramga once告诉你的编译器只包含它一次,所以它会停止并且你不会得到所有的声明。
https://stackoverflow.com/questions/15016322
复制相似问题