VS2010MFC如何查看CARRAY数组变量中的结构成员值(不用afxdump)
问题描述:
1.我试过在监视窗口手动输入变量myArray[1].x
2.在代码区浮动窗口只能看到第一个变量myArray[0].
3.另外一个网友说的可以在监视窗口myArray.ElementAt(0).
但都不行
除了afxdump和trace外,怎样方便的查看其他结构myArray[1].,谢谢。
如下:我需要看myarray中的aa和bb
CPoint aa;
aa.x=10;
aa.y=20;
CPoint bb;
bb.x=40;
bb.y=80;
CArray myArray;
myArray.Add(aa);
myArray.Add(bb);
有快捷可行的方法给分,不需要在工程里写多余的代码。
答
的确没什么好办法,我能想到的最好办法是添加一个如下的代码
#ifdef _DEBUG
template <class T>
struct LinkedList
{
T data;
LinkedList<T> * next;
};
template <class T>
LinkedList<T>* asLList(CArray<T>& arr)
{
if (arr.GetSize() == 0)
return NULL;
LinkedList<T> * head = new LinkedList<T>;
head->data = arr[0];
head->next = NULL;
LinkedList<T> * p = head;
for (int i = 1; i < arr.GetSize(); i++)
{
p->next = new LinkedList<T>;
p = p->next;
p->data = arr[i];
p->next = NULL;
}
return head;
}
template <class T>
void delLList(LinkedList<T>* l)
{
if (l == NULL)
return;
delLList(l->next);
delete l;
}
#endif
使用的时候加上2行
void CQ757506Dlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
CPoint aa;
aa.x=10;
aa.y=20;
CPoint bb;
bb.x=40;
bb.y=80;
CArray<CPoint> myArray;
myArray.Add(aa);
myArray.Add(bb);
#ifdef _DEBUG
LinkedList<CPoint> * pl = asLList(myArray);
delLList(pl);
#endif