C 标题和类文件 - 未定义的参考

C++ header and class file - undefined reference

本文关键字:未定义 参考 文件 标题      更新时间:2023-10-16

可能的重复:
什么是未定义的参考/未解决的外部符号错误,我该如何修复?

.h:

class ArithmeticCoding
{
public:
    ArithmeticCoding();
    static void test(QString text);
    static QMap<QChar,int> letters_freq;
}

.cpp:

QMap<QChar, int> letters_freq;
ArithmeticCoding::ArithmeticCoding()
{
}
void ArithmeticCoding::test(QString text)
{
    for(int i=0; i<text.length(); i++) letters_freq[text.at(i)]++;
}

我得到

arithmeticCoding.cpp:-1:错误:未定义的引用 `arithmeticCoding :: letters_freq'

为什么?

将其添加到您的CPP

 QMap<QChar,int> ArithmeticCoding::letters_freq;