E
eric
Dear advanced c++ programers:
in c++ cook book's example 4-8, it use list's object with algorithm
for_each, that can not get compiled in my
g++ compiler. Is that normal(author's fault) or my g++ side's
responsibility?
/* I get some google search, I found most of them use vector
* but in its definition , it did not forbid using list, at least
under my search capability reach so far
*/
You can get code from here.
http://examples.oreilly.com/9780596007614/
----------
eric@eric-laptop:~/cppcookbook/download$ g++ 4-8.cpp
4-8.cpp: In function ‘int main()’:
4-8.cpp:25:44: error: no matching function for call to
‘for_each(std::list<std::basic_string<char> >::iterator,
std::list<std::basic_string<char> >::iterator, <unresolved overloaded
function type>)’
eric@eric-laptop:~/cppcookbook/download$ cat 4-8.cpp
#include <list>
#include <algorithm>
#include <iostream>
using namespace std;
void write(const string& s) {
cout << s << '\n';
}
int main( ) {
list<string> lst;
string s = "knife";
lst.push_front(s);
s = "fork";
lst.push_back(s);
s = "spoon";
lst.push_back(s);
// A list doesn't have random access, so
// use for_each( ) instead
for_each(lst.begin( ), lst.end( ), write);
}
eric@eric-laptop:~/cppcookbook/download$
----------------------------------------------------------------------
in c++ cook book's example 4-8, it use list's object with algorithm
for_each, that can not get compiled in my
g++ compiler. Is that normal(author's fault) or my g++ side's
responsibility?
/* I get some google search, I found most of them use vector
* but in its definition , it did not forbid using list, at least
under my search capability reach so far
*/
You can get code from here.
http://examples.oreilly.com/9780596007614/
----------
eric@eric-laptop:~/cppcookbook/download$ g++ 4-8.cpp
4-8.cpp: In function ‘int main()’:
4-8.cpp:25:44: error: no matching function for call to
‘for_each(std::list<std::basic_string<char> >::iterator,
std::list<std::basic_string<char> >::iterator, <unresolved overloaded
function type>)’
eric@eric-laptop:~/cppcookbook/download$ cat 4-8.cpp
#include <list>
#include <algorithm>
#include <iostream>
using namespace std;
void write(const string& s) {
cout << s << '\n';
}
int main( ) {
list<string> lst;
string s = "knife";
lst.push_front(s);
s = "fork";
lst.push_back(s);
s = "spoon";
lst.push_back(s);
// A list doesn't have random access, so
// use for_each( ) instead
for_each(lst.begin( ), lst.end( ), write);
}
eric@eric-laptop:~/cppcookbook/download$
----------------------------------------------------------------------