I'm trying to convert a std::string
stored in a std::vector
to an integer and pass it to a function as a parameter.
This is a simplified version of my code:
vector <string> record;
functiontest(atoi(record[i].c_str));
My error is as follows:
error: argument of type ‘const char* (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::)()const’ does not match ‘const char*’
How can I do this?
is not the same as
You can actually get this from the error message: the function expects a
const char*
, but you're providing an argument of typeconst char* (std::basic_string<char, std::char_traits<char>, std::allocator<char> >::)()const
which is a pointer to a member function of the classstd::basic_string<char, std::char_traits<char>, std::allocator<char> >
that returns aconst char*
and takes no arguments.With C++11:
Use stringstream from standard library. It's cleaner and it's rather C++ than C.