Интересная вещь. Такой простой код
struct FOO { int x, y; }
std::vector<int> v1;
std::vector<FOO> v2;
v1.resize(4);
v2.resize(4);
v1[0] = 10;
v2[0].x = 20;
Если в Visual Studio 2010 поставить точку останова и открыть v1 и v2 в окне Watch, то вектор v1 прекрасно откроется — со всеми внутренними полями и самим содержимым вектора, а v2 не откроется вообще.
Если смотреть напрямую внутреннюю структуру данных вектора (то есть в данном случае v1._Myfirst и v2._Myfirst) то то же самое.
Проверял на нескольких компьютерах.
С чем это связано и как с этим бороться?
Здравствуйте, x-code, Вы писали:
XC>XC>struct FOO { int x, y; }
XC>std::vector<int> v1;
XC>
XC> v2 не откроется вообще.
AFAIK 2010 не поддерживает нормально
локальные структуры в вотче.
Вариантов несколько:
1. Проапгрейдться на 2013 например, там все показывается нормально.
2. Вынести определение спруктуры из функции наружу.
3. Писать в вотч (FOO*)&v2,10