对于名为 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
的事实有关,但我不知道为什么会发生这种情况?任何见解将不胜感激。