0

我正在尝试编写一个模块来包装通用计时器,但我想使用这个模块能够以任意精度包装计时器,而无需编写重复的代码。

我这样编写模块,但它抱怨precision_tag 缺少类型,但也给它一个无法编译的类型。

generic module TimerLoggerP(precision_tag) {
    provides {
        interface Timer<precision_tag> as Timer;
        interface LoggerComponent;
    }

    uses {
        interface Timer<precision_tag> as RTimer;
    }
}

有谁知道如何使它以我试图实现的通用方式工作?

4

1 回答 1

1

只需要特殊的typedef类型。

generic module TimerLoggerP(typedef precision_tag) {
    provides {
        interface Timer<precision_tag> as Timer;
        interface LoggerComponent;
    }

    uses {
        interface Timer<precision_tag> as RTimer;
    }
}
于 2013-03-04T15:11:55.967 回答