在创建CTI适配器时无法实例化抽象类

时间:2013-09-30 11:38:48

标签: c++ visual-studio visual-c++ com atl

我正在尝试使用CTI Toolkit 4.03在Visual Studio 2008中构建CTI连接器解决方案。我收到了一个错误

Error    1    error C2259: 'ATL::CComObject<Base>' : cannot instantiate abstract class    c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\atlcom.h    1801   while compiling

我的代码是

#include "stdafx.h" 
#include "MyAdapterBase.h" 

STDMETHODIMP CMyAdapterBase::GetAdapterName(BSTR* bsName)
{ 
  bsName = SysAllocString(L"My Sample CTI Adapter"); 
  return S_OK;
} 
STDMETHODIMP CMyAdapterBase::GetAdapterVersion(BSTR bsName)
{ 
  bsName = SysAllocString(L"1.0 Candidate 2"); 
  return S_OK; 
} 
STDMETHODIMP CMyAdapterBase::UIAction(BSTR message){ 
{ 
  return S_OK; 
} 
void CMyAdapterBase::SendUIRefreshEvent(_bstr_t xml) 
{ 
  CCTILogger::Log(LOGLEVEL_HIGH,"Sending XML (len %d): %s",xml.length(),
    (wchar_t)xml); 
  _ISalesforceCTIAdapterEvents_UIRefresh(xml); 
} 

1 个答案:

答案 0 :(得分:0)

那是因为你不能创建一个抽象类的实例,它必须是一个具体的实例。您可以编写自己的类,它继承自CComObject类或使用现有的已实现的类,除了它没有任何来源很难帮助