F
Frank Bergemann
Hi,
i stumbled this in source code review:
VALID(?!):
======
frank@frank-desktop:~$ cat test.cc
#include <iostream>
#include <list>
int main()
{
std::list<int> values;
values.push_back(1);
values.push_back(2);
values.push_back(3);
values.push_back(4);
values.push_back(5);
values.push_back(6);
for (std::list<int>::const_iterator i = values.begin();
i != values.end();
++i++) { // ### SEE THIS
std::cout << "i is " << *i << std::endl;
}
return 0;
}
frank@frank-desktop:~$ ./test
i is 1
i is 2
i is 3
i is 4
i is 5
i is 6
NOT VALID:
=======
frank@frank-desktop:~$ cat test.cc
#include <iostream>
#include <list>
int main()
{
for (int i = 1;
i < 7;
++i++) {
std::cout << "i is " << i << std::endl;
}
return 0;
}
doesn't compile:
frank@frank-desktop:~$ g++ -o test test.cc
test.cc: In function »int main()«:
test.cc:8: Fehler: Ungültiger L-Wert in Erhöhung
So why behaves iterator different that integer?
rgds
Frank
i stumbled this in source code review:
VALID(?!):
======
frank@frank-desktop:~$ cat test.cc
#include <iostream>
#include <list>
int main()
{
std::list<int> values;
values.push_back(1);
values.push_back(2);
values.push_back(3);
values.push_back(4);
values.push_back(5);
values.push_back(6);
for (std::list<int>::const_iterator i = values.begin();
i != values.end();
++i++) { // ### SEE THIS
std::cout << "i is " << *i << std::endl;
}
return 0;
}
frank@frank-desktop:~$ ./test
i is 1
i is 2
i is 3
i is 4
i is 5
i is 6
NOT VALID:
=======
frank@frank-desktop:~$ cat test.cc
#include <iostream>
#include <list>
int main()
{
for (int i = 1;
i < 7;
++i++) {
std::cout << "i is " << i << std::endl;
}
return 0;
}
doesn't compile:
frank@frank-desktop:~$ g++ -o test test.cc
test.cc: In function »int main()«:
test.cc:8: Fehler: Ungültiger L-Wert in Erhöhung
So why behaves iterator different that integer?
rgds
Frank