通用功能

时间:2014-03-26 14:59:41

标签: c++ templates

我想通过为重复的函数编写通用代码来优化源代码。我正在尝试使用模板函数实现相同的功能。

但是我无法解决以下错误。 对此有任何帮助是值得赞赏的。

namespace elements_z0
{

Celements_z0::init() {...}
Celements_z0::run() {...runUser();...}
Celements_z0::runUser()
{.... 
//generic func
alice::CAliceOutput* alice_p;
runUser_r(alice_p, m_aliceSenderpin, m_alicecallback_p, m_aliceSenderpin_aui8, t_alice_enum);
....}

template<typename Interface> void runUser_r(Interface* interface_p, uint8_t* pin, interfacetype_p<Interface> interfacetyp_p, uint32_t Ifid_u32)
{
.......}

错误

  1. 错误:#504-D:获取成员函数地址的非标准格式
  2. 错误:#849:expression必须具有算术,枚举或指针类型

    runUser_r(alice_p,m_aliceSenderpin,m_alicecallback_p,m_aliceSenderpin_aui8,t_alice_enum);

  3. 编辑1:

    对于拼写错误

    抱歉

1 个答案:

答案 0 :(得分:4)

尝试

template<typename Interface>

而不是

template(typename Interface)