循环内int i,竟然提示重复申明
void CPointerDlg::OnButton1()
{
// TODO: Add your control notification handler code here
int* p[10];
for (int i=0; i<10; i++)
{
int j = i;
p[i] = &j;
}
CString strTemp, strResult;
for (i=0; i<10; i++)
{
strTemp.Format(_T("%d, "), *p[i]);
strResult += strTemp;
}
GetDlgItem(IDC_STATIC_TEXT)->SetWindowText(strResult);
}
这样是没问题的,但第二个for (i=0; i<10; i++)
如果写成for (int i=0; i<10; i++),就提示重复申明,难道是编译器优化了?
第二个问题int j = i;每次新申明的int j,竟然地址都是一样的,所有指针数组里10个数也是一样的。这可如何是好
(new的话还得释放,难道非逼我用std::auto_ptr?)