我在Mfc中的dll中导出一个类
class AFX_EXT_CLASS  Cmousehook : public CObject 
可是我在使用改类时,include .h
该头文件如下:
#if !defined(AFX_MOUSEHOOK_H__521B37CF_6CF8_4119_BCD9_EEB53814DDAF__INCLUDED_)
#define AFX_MOUSEHOOK_H__521B37CF_6CF8_4119_BCD9_EEB53814DDAF__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// mousehook.h : header file
//
#pragma data_seg ("shareddata") 
HWND sharedwnd=NULL;//共享数据 
#pragma data_seg() 
/////////////////////////////////////////////////////////////////////////////
// Cmousehook command targetclass AFX_EXT_CLASS  Cmousehook : public CObject 
{
public: 
Cmousehook(); 
//钩子类的构造函数 
~Cmousehook(); 
//钩子类的析构函数 
BOOL starthook(HWND hWnd); 
//安装钩子函数 
BOOL stophook(); 
//卸载钩子函数 };///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_MOUSEHOOK_H__521B37CF_6CF8_4119_BCD9_EEB53814DDAF__INCLUDED_)
在测试该类的程序中,include该头文件和lib文件,能通过编译
但是我的cpp文件申明一个对象
include"mousehook.h"
Cmousehook  myhook;
却说 myhook前应该有 ;(分号)
也就是说它不认识Cmousehook
可是我不加Cmousehook  myhook;这句话,仍然include"mousehook.h"
却能通过编译连接
为什么?望高手赐教!