使用非类型模板参数时未定义的引用

时间:2021-06-11 18:59:02

标签: c++

对于名为 collectStats 的类中的函数 Analyzer,我有以下声明:

    template <size_t C>
    void collectStats();

以及以下定义(空,因为我只是想将所有内容都链接起来)

    template <size_t C>
    void Analyzer::collectStats() {}

以及以下调用:

    collector.collectStats<size_t(3)>();

以及以下错误消息:

undefined reference to `void Analyzer::collectStats<3ul>()'

我已经看到围绕 stackoverflow 发布的其他类似调用(传递非类型模板参数)(like here)

我也尝试将 3 静态转换为 size_t,但我收到相同的错误消息。

也许这个错误与参数似乎解析为 unsigned long 的事实有关,但我不知道为什么会发生这种情况?任何见解将不胜感激。

0 个答案:

没有答案