我已经声明了以下类型的向量:
vector<CDFE> vDFE;
其中 CDFE 是一个类,它包含一个变量double usage
。
我通过如下指针访问它,例如:
pDoc->vDFE.at(i).usage;
我正在创建一个临时向量,如下所示,因为我不想修改vDFE
.
vector<CDFE> tempDFE(pDoc->vDFE);
但是当我运行程序时,它会进入一些功能_CrtIsValidHeapPointer()
我究竟做错了什么?
非常感谢您的帮助。
以下是一些代码:
class CDFE : public CRect
{
public:
CDFE();
virtual ~CDFE();
double usage;
}
void CRXView::OnDraw(CDC* pDC)
{
CRXDoc* pDoc = GetDocument();
vector<CDFE> tempDFE(pDoc->vDFE);
}
CRXDoc* CRXView::GetDocument() const // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRXDoc)));
return (CRXDoc*)m_pDocument;
}