| From: | Quan Zongliang <quanzongliang(at)gmail(dot)com> |
|---|---|
| To: | pgadmin-support(at)postgresql(dot)org |
| Subject: | I need help, about c++ pointer |
| Date: | 2009-07-15 12:04:27 |
| Message-ID: | 20090715205540.75FE.4125B4E5@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgadmin-support |
Hi, all
I ceate some pointers with:
SQLWCHAR** stmtlabels = m_srcodbc->GetResultColLabels();
m_curstmtlabels = new SQLWCHAR*[m_curstmtcolsnum];
for (colidx=0; colidx<m_curstmtcolsnum; colidx++)
if (stmtlabels[colidx])
{
m_curstmtlabels[colidx] = new SQLWCHAR[wcslen(stmtlabels[colidx])+1];
wcscpy(m_curstmtlabels[colidx], stmtlabels[colidx]);
}
else
m_curstmtlabels[colidx] = NULL;
delete them with:
if (m_curstmtlabels)
{
SQLSMALLINT colidx;
for (colidx=0; colidx<m_curstmtcolsnum; colidx++)
if (m_curstmtlabels[colidx])
delete[] m_curstmtlabels;
}
When delete pointers, the first loop is ok.
But the sencond loop get a crash.
It seems the first loop delete second array too.
How to correct it?
BTW:
wcscpy, wcscmp, wcslen ... functions can be supported by all platforms?
Regards.
-----------------------------------------------
Quan Zongliang
quanzongliang(at)gmail(dot)com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Guillaume Lelarge | 2009-07-15 14:18:41 | Re: Ubuntu |
| Previous Message | Robert Shusteric | 2009-07-15 08:20:00 | forgot my password |