C++ autoexp.dat不分析联合?
我有一个就地向量类,定义如下:C++ autoexp.dat不分析联合?,c++,debugging,visual-studio-2005,C++,Debugging,Visual Studio 2005,我有一个就地向量类,定义如下: template<class T> class svectorbase { // ... protected: union { char* m_char; T* m_t; } m_elems; size_t m_maxsize; int m_elemCount; }; template<class T, size_t maxsize> class svect
template<class T>
class svectorbase
{
// ...
protected:
union
{
char* m_char;
T* m_t;
} m_elems;
size_t m_maxsize;
int m_elemCount;
};
template<class T, size_t maxsize>
class svector : public svectorbase<T>
{
protected:
char m_elems[sizeof(T) * maxsize]; // gets passed to base class
};
…但是当size属性正确显示时,数组中会填充(错误):0
项
我可能在做一些明显与工会有关的事情,但我看不到森林。有什么想法吗?您可以尝试显式地将m\t转换为t*:
children
(
#array
(
expr : ((($T1*)($c.m_elems.m_t))[$i],
size : $c.m_elemCount
)
)
我现在不在开发机器附近,所以这里可能有语法错误,但希望它能让人明白这一点。您可以尝试显式地将m\u t强制转换为t*:
children
(
#array
(
expr : ((($T1*)($c.m_elems.m_t))[$i],
size : $c.m_elemCount
)
)
我现在不在dev机器附近,所以这里可能有语法错误,但希望它能让人理解。在基类中有一个名为
m_elems
的成员变量,在派生类中有另一个名为m_elems
的成员变量
$c.m_elems.m_t
中的$c.m_elems
指的是派生类的char
数组,而不是基类的并集。在基类中有一个名为m_elems
的成员变量,在派生类中还有另一个名为m_elems
的成员变量
$c.m_elems.m_t
中的$c.m_elems
指的是派生类的char
数组,而不是基类的并集。Ah!我真是个傻瓜。我在子类中更改了名称,现在可以使用了。我真的不想编辑这个wtf-y代码,但你看,啊!我真是个傻瓜。我在子类中更改了名称,现在可以使用了。我真的不想编辑这个wtf-y代码,但现在你可以开始了。以前没有见过$T1常量,很好。以前没有见过$T1常量,很好。