我有一個像這樣定義就地vector類:我想autoexp.dat不解析union?
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
};
(不要問他們爲什麼不只是創造一個T m_array[maxsize]
...嘆氣)
在VS2005中爲它創建一個autoexp.dat條目,因爲該結構使得在調試器中很難查看它。據我得爲:
svector<*>{
preview
(
#("size=",$e.m_elemCount,"/",$e.m_maxsize)
)
children
(
#array
(
expr : ($c.m_elems.m_t)[$i],
size : $c.m_elemCount
)
)
}
...但在大小屬性正確地顯示出來,陣列填充(error):0
條目。
我可能在做一些與工會有關的明顯事情,但看不到樹木的阿甘。有任何想法嗎?
啊!我真是個笨蛋。我改變了孩子班的名字,現在它就起作用了。我真的不想編輯這個wtf-y代碼,但是你去了。 – tenpn 2010-07-16 11:27:13