Click here to Skip to main content
15,896,912 members
Home / Discussions / ATL / WTL / STL
   

ATL / WTL / STL

 
Questionhow to get a project's active configuration [modified] Pin
mathewzhao18-Feb-09 23:24
mathewzhao18-Feb-09 23:24 
AnswerRe: how to get a project's active configuration Pin
Stuart Dootson19-Feb-09 2:01
professionalStuart Dootson19-Feb-09 2:01 
GeneralRe: how to get a project's active configuration Pin
mathewzhao19-Feb-09 3:08
mathewzhao19-Feb-09 3:08 
GeneralRe: how to get a project's active configuration Pin
Stuart Dootson19-Feb-09 3:17
professionalStuart Dootson19-Feb-09 3:17 
Questioniterator question Pin
followait18-Feb-09 2:51
followait18-Feb-09 2:51 
AnswerRe: iterator question Pin
Nuri Ismail18-Feb-09 3:19
Nuri Ismail18-Feb-09 3:19 
GeneralRe: iterator question Pin
followait18-Feb-09 15:35
followait18-Feb-09 15:35 
GeneralRe: iterator question Pin
Nuri Ismail18-Feb-09 21:31
Nuri Ismail18-Feb-09 21:31 
I have tried your code in VC6 and it works fine there, but in VC9 it asserts. So why this happens? The answer is "because of The STL implementation in VC8 and VC9". The new STL implementation includes additional checks, this line is from vector file, which comes with VC9

#if _HAS_ITERATOR_DEBUGGING
       if (this->_Mycont == 0
           || _Myptr < ((_Myvec *)this->_Mycont)->_Myfirst
           || ((_Myvec *)this->_Mycont)->_Mylast <= _Myptr)
           {
           _DEBUG_ERROR("vector iterator not dereferencable");
           _SCL_SECURE_OUT_OF_RANGE;
           }
#else


After you call erase(it); the "it" iterator and all iterators pointing elements after the erased element will be invalidated, so you have to change your code if you don't want your iterators to become invalid. Here is one possible solution, it works fine on VC9:

...............

int main()
{
	vector<int> v(10);
	for (int i=0; i<10; ++i)
	{
		v[i] = i;
	}

	vector<int>::iterator it = v.begin();

	it += 3;
	
	// Erase the "it" before using it and use the iterator returned from erase()
	it = v.erase(it);
	
	vector<int>::iterator it0 = it + 1;
	
	cout << *it0 <<endl;

	cin.get();

	return 0;
}
</int></int></int>


The result must be: 5.
AnswerRe: iterator question Pin
Stuart Dootson18-Feb-09 8:45
professionalStuart Dootson18-Feb-09 8:45 
AnswerRe: iterator question Pin
Stuart Dootson18-Feb-09 21:45
professionalStuart Dootson18-Feb-09 21:45 
QuestionUse a &lt;set&gt; to sort a &lt;map&gt;? Pin
Kyudos16-Feb-09 15:10
Kyudos16-Feb-09 15:10 
AnswerRe: Use a &lt;set&gt; to sort a &lt;map&gt;? Pin
«_Superman_»16-Feb-09 18:31
professional«_Superman_»16-Feb-09 18:31 
GeneralRe: Use a &lt;set&gt; to sort a &lt;map&gt;? Pin
Kyudos17-Feb-09 8:41
Kyudos17-Feb-09 8:41 
GeneralRe: Use a &lt;set&gt; to sort a &lt;map&gt;? Pin
Stuart Dootson17-Feb-09 20:41
professionalStuart Dootson17-Feb-09 20:41 
GeneralRe: Use a &lt;set&gt; to sort a &lt;map&gt;? Pin
Eytukan22-Feb-09 20:05
Eytukan22-Feb-09 20:05 
AnswerRe: Use a &lt;set&gt; to sort a &lt;map&gt;? [modified] Pin
Stuart Dootson17-Feb-09 9:22
professionalStuart Dootson17-Feb-09 9:22 
QuestionWhy basic_string doesn't support back(), but vector do? Pin
followait13-Feb-09 17:52
followait13-Feb-09 17:52 
AnswerRe: Why basic_string doesn't support back(), but vector do? Pin
«_Superman_»13-Feb-09 19:44
professional«_Superman_»13-Feb-09 19:44 
AnswerRe: Why basic_string doesn't support back(), but vector do? Pin
Stuart Dootson15-Feb-09 4:03
professionalStuart Dootson15-Feb-09 4:03 
QuestionHow do we Inherit struct from another struct in IDL file Pin
Gopal_Kanchana11-Feb-09 23:44
Gopal_Kanchana11-Feb-09 23:44 
QuestionHow to trap Excel 2007 cell events using ATL addin Pin
SNI11-Feb-09 2:18
SNI11-Feb-09 2:18 
QuestionProblem with ATL COM Dll.... Firing event in thread Pin
chetanjoshi910-Feb-09 20:15
chetanjoshi910-Feb-09 20:15 
AnswerRe: Problem with ATL COM Dll.... Firing event in thread Pin
Stuart Dootson10-Feb-09 22:56
professionalStuart Dootson10-Feb-09 22:56 
GeneralRe: Problem with ATL COM Dll.... Firing event in thread Pin
chetanjoshi910-Feb-09 23:06
chetanjoshi910-Feb-09 23:06 
GeneralRe: Problem with ATL COM Dll.... Firing event in thread Pin
Stuart Dootson11-Feb-09 0:46
professionalStuart Dootson11-Feb-09 0:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.