Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++/MFC
CArray<CDialog, CDialog&> dlg;
dlg.SetSize(10);
....
dlg.RemoveAt(5);
 
There are 10 dialogs in total. If I delete the last one using CArray::RemoveAt(), it works well.
But if I do the above, then it won't work if I try to go to the dialogs with an index greater than 5.
How to solve this?
Thanks in advance.
Posted 3-Jun-12 16:45pm
Krauze659
Comments
SAKryukov at 3-Jun-12 22:49pm
   
Why doing all that?
--SA

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

hi
you have ten dialog
you used constant index to remove array . i mean five : dlg.remove(5)
 
it's certain my pal
when you perform it for five times, you have five array and once you do it again, you'll have less than five array and you won't have array number 5 to remove that.
am i right?
  Permalink  
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 DamithSL 305
1 OriginalGriff 275
2 Sergey Alexandrovich Kryukov 207
3 Peter Leow 185
4 Afzaal Ahmad Zeeshan 154
0 OriginalGriff 7,460
1 DamithSL 5,519
2 Sergey Alexandrovich Kryukov 4,954
3 Maciej Los 4,936
4 Kornfeld Eliyahu Peter 4,514


Advertise | Privacy | Mobile
Web02 | 2.8.141223.1 | Last Updated 31 Oct 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100