c++ - 使用 <name> = ... 不命名类型

标签 c++ templates using

目标是在模板对象中定义一个以 void (void) 为原型(prototype)的函数。 代码如下:

template <class T>
using ClassVoidFunctionPointer = void (T::*)(void);

class Scheduler {

public:
        Scheduler(void);
        ~Scheduler(void);
        template <class T>
        void addTask(unsigned short interval, unsigned short delay,T templateClass,ClassVoidFunctionPointer classFunctionPtr );//For newer functions
...
}

这给了我错误:

inc/scheduler.h:18:77: error: 'ClassVoidFunctionPointer' is not a type

为什么我会收到此错误?

最佳答案

您忘记了模板参数:

, ClassVoidFunctionPointer<T> classFunctionPtr,

关于c++ - 使用 <name> = ... 不命名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20048150/

相关文章:

c++ - 正则表达式算法 - 组合或

c# - 将 block 与线程一起使用

c++ - 在 C++ 中包含文件

c++ - 如何读取 USB token 上存储的 X.509 证书的详细信息?

c++ - 模板中依赖类型的问题

python - 如何在电子邮件中设置 Markdown 的默认样式

c++ - 如果我注释掉换行符,为什么 'string' 会成为不合格的变量

c# - 同一 using block 中的多个变量

c++ - 一个类是一个命名空间

c++ - 调用专门未模板化的函数