为什么这个头文件编译没有报错?

时间:2021-10-27 10:02:33
c++
网上下载了一个例子程序,其中有这么一个类,具体内容如下:
#ifndef _SAFEARRAYHELPER_H_
#define _SAFEARRAYHELPER_H_

class CSafeArrayHelper
{
public:
CSafeArrayHelper();
~CSafeArrayHelper();

bool Create(VARTYPE  vt, UINT  cDims, UINT lBound, UINT cCount);
bool Destroy();
UINT GetDimension();

bool Attach(LPSAFEARRAY psa);
bool AttachFromVariant(VARIANT* pVariant);
LPSAFEARRAY Detach();
LPSAFEARRAY GetArray();
bool AccessData(void FAR* FAR* pvData);
bool UnaccessData();
bool Lock();
bool Unlock();
bool PutElement(long lIndices, void FAR* vData);
bool GetElement(long lIndices, void FAR* vData);
VARIANT GetAsVariant();

protected:
LPSAFEARRAY m_pSA;

private:
};

#endif // _SAFEARRAYHELPER_H_
这个类没有任何的头文件,也没有声明“VARTYPE” “LPSAFEARRAY” 这些类,但是竟然没有报错,
然后我自己建了一个工程导入了这个类,编译的时候就会报错,为什么呀? 求解答?

2 个解决方案

#1


这些是windows内部定义好的头文件,需要引用标准头文件
你没看到,应该是作为全局引用了。
比如MFC的atdafx.h就帮你做了这些

#2


引用 1 楼 uniquecapo 的回复:
这些是windows内部定义好的头文件,需要引用标准头文件
你没看到,应该是作为全局引用了。
比如MFC的atdafx.h就帮你做了这些

是stdafx.h

#1


这些是windows内部定义好的头文件,需要引用标准头文件
你没看到,应该是作为全局引用了。
比如MFC的atdafx.h就帮你做了这些

#2


引用 1 楼 uniquecapo 的回复:
这些是windows内部定义好的头文件,需要引用标准头文件
你没看到,应该是作为全局引用了。
比如MFC的atdafx.h就帮你做了这些

是stdafx.h