我正在尝试编写一个模块来包装一个通用的Timer,但我想使用这个模块能够以任意精度包装定时器,而无需编写重复的代码。
我写了这样的模块,但它抱怨说precision_tag缺少一个类型,但也给它一个不会编译的类型。generic module TimerLoggerP(precision_tag) {
provides {
interface Timer<precision_tag> as Timer;
interface LoggerComponent;
}
uses {
interface Timer<precision_tag> as RTimer;
}
}
有谁知道如何让它以我想要实现的通用方式工作?
答案 0 :(得分:1)
只需要特殊的 typedef 类型。
generic module TimerLoggerP(typedef precision_tag) {
provides {
interface Timer<precision_tag> as Timer;
interface LoggerComponent;
}
uses {
interface Timer<precision_tag> as RTimer;
}
}