构造函数必须带参数吗

#ifndef _KEYDLL_H
#define _KEYDLL_H

class AFX_EXT_CLASS CKeyHook : public CObject
{
public:
CKeyHook();
~CKeyHook();
HHOOK Start();//安装钩子
BOOL Stop();//卸载钩子
};
#endif图片说明

不用,但是类中尽量保留一个无参的构造函数.

缺省构造函数不就不带参数

CKeyHook();
还要实现一下

无参的构造函数是构造函数本身,无论你带不带参数,在初始化时都会默认先执行无参数的构造函数,这个问题不明白,code很容易出现空指针异常

不一定要带,构造函数分为有参的构造函数和无参的构造函数,你可以根据具体情况自定义。

肯定不是构造函数和参数的问题,这个提示信息误导了你。

往往是如下一些问题,具体要看你的宏和包含的定义,

参考
http://blog.csdn.net/jean7155/article/details/8202600

http://bbs.csdn.net/topics/390457540

多谢大家热心的回答可能是DLLEXPORT宏定义方面的问题,但是宏定义都是VS2008里面定义好的,所以搞了好久也没搞明白