我正在将我的C ++ ATL可执行应用程序从VS2003迁移到VS2013。
在VS 2003中
类CExeModule:public CComModule
在VS2013中(已更改为)
类CExeModule:public ATL :: CAtlExeModuleT< CExeModule>
我已成功迁移项目,在编译期间我遇到了一个问题
**
错误C2664:' ATL :: CHandle :: CHandle(HANDLE)throw()' :无法转换 争论1来自' bool'到' ATL :: CHandle&'
**
如果我评论以下代码
,我不会收到此错误_AtlModule.WinMain(nShowCmd);
有人可以帮助解决此错误吗?
其他信息
C:\ Program Files \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include \ atlbase.h(3628):错误C2664:' ATL :: CHandle :: CHandle(HANDLE)throw()' :无法转换参数1 来自' bool'到' ATL :: CHandle&' C:\ Program Files \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include \ atlbase.h(3608):编译类时 模板成员函数' HRESULT ATL :: CAtlExeModuleT :: PreMessageLoop(int)throw()' C:\ Program Files \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include \ atlbase.h(3695):参见函数模板实例化' HRESULT ATL :: CAtlExeModuleT :: PreMessageLoop(int)throw()'存在 编译
stdafx.h(107):参见类模板实例化 ' ATL :: CAtlExeModuleT'正在编制
答案 0 :(得分:0)
谢谢Igor Tandetnik ......
我在CExeModule类中更改函数名后解决了这个问题bool StratMonitor()