none
Отладчик VS2015 не видит поля класса с++, который был объявлен как forward declaration в заголовочном файле

    Вопрос

  • Здравствуйте!

    Пример кода:

    ClassA.h

    class ClassAImpl;
    
    class ClassA
    {
    public:
        ClassA();
        // ... some other methods here
    
    private:
        ClassAImpl *m_classAImpl;
    };

    ClassA.cpp

    #include "ClassA.h"
    
    class ClassAImpl
    {
    public:
        ClassAImpl(int field) : m_Field(field) {}
    
    public:
        int m_Field;
        // ... other class members here
    };
    
    void ClassA::ClassA()
    {
        m_classAImpl = new ClassAImpl(123);
    }
    
    // ... etc

    Теперь, если я пытаюсь отладить этот код, то не могу посмотреть в отладчике значение поля класса ClassAImpl::m_Field. Отладчик видит класс ClassAImp, как не содержащий ни одного поля.

    Что я делаю не так?



    • Изменено Danil She 12 января 2018 г. 13:26
    12 января 2018 г. 13:19