Неразрешенная ссылка на конструктор, который определен [дубликат]

На этот вопрос уже есть ответ здесь:

Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить? 32 ответа

Я получаюunresolved external symbol "public: __thiscall TestLanguage::TestLanguage(void)" (??0TestLanguage@@QAE@XZ) referenced in function _main

TestLanguage насколько я вижу, конструктор определен, однако, очевидно, компилятор его не видит. Мой единственный вывод заключается в том, что существуют какие-то проблемы с включением (например, циркулярное включение).

Я сделал диаграмму включений для каждой единицы перевода ниже, однако я не вижу никаких проблем. Любое руководство будет оценено.

Включает в себя:

Test.cpp
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TestLanguage.cpp
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TLOperators.cpp
    TLOperators.h
        IOperator.h
            Operation.h
            Token.h
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h

CPU.cpp
    CPU.h
        Operation.h
    Operation.h

Expression.cpp
    Expression.h
        Operation.h
        Token.h
    Util.h
    IOperator.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    ILanguage.h

Operation.cpp
    Operation.h

Token.cpp
    Token.h

Ответы на вопрос(1)

Ваш ответ на вопрос