Класс с разделенным заголовком: может видеть только значение инициализации переменной-члена - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть класс Test, определенный в его собственном заголовке test.h, который включен в файл main.cpp.В основном это так:

test.h

class Test
{
    ...
    ...
    ...

public:
    long foo;
};

test.cpp

// Constructor
Test::Test()
{
    foo = 0
}

void Test::someMethod()
{
    // Here foo variable is changed
}

main.cpp

#include "test.h"

using namespace std;

int main()
{
    Test testObject;
    ...
    // Do something with testObject
    ...

    return 0;
}

Во время отладки в Visual Studio 2017, если я остановлю выполнение внутри основного кода, я не смогу увидеть фактическое значение foo, я вижу его значение инициализации:

testObject.foo --> 0

Почему это происходит?Если я остановлю выполнение внутри класса, я увижу его фактическое значение.

EDIT

Я обнаружил проблему.В main () я добавил отдельный поток, который запускает Test :: someMethod ().Когда я останавливаю выполнение внутри main, я не вижу переменную локального потока testObject.

Есть ли способ увидеть локальные переменные потока?

1 Ответ

0 голосов
/ 29 декабря 2018

Я нашел проблему.В main () я добавил отдельный поток, который запускает Test :: someMethod ().Когда я прекращаю выполнение внутри main (), я не вижу переменную локального потока testObject

...