I'm trying to convert a character from a c string to an int but I keep running into an error.
Here's my code
while(std::getline(file, line)){ if(std::isdigit(line[0]) && std::isspace(line[1]) && std::isdigit(line[2])){ SequenceArray.push_back(line); if(std::stoi(line[2])== (SequenceArray.size() -1)){ std::cout<< "Success" << std::endl; The error that I keep getting is as follows:
a1.cpp: In function ‘int main(int, char**)’: a1.cpp:30:25: error: call of overloaded ‘stoi(char&)’ is ambiguous if(std::stoi(line[2])== (SequenceArray.size() -1)){ ^ a1.cpp:30:25: note: candidates are: In file included from /usr/include/c++/4.8/string:52:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from a1.cpp:1: /usr/include/c++/4.8/bits/basic_string.h:2823:3: note: int std::stoi(const string&, std::size_t*, int) <near match> stoi(const string& __str, size_t* __idx = 0, int __base = 10) ^ /usr/include/c++/4.8/bits/basic_string.h:2823:3: note: no known conversion for argument 1 from ‘char’ to ‘const string& {aka const std::basic_string<char>&}’ /usr/include/c++/4.8/bits/basic_string.h:2926:3: note: int std::stoi(const wstring&, std::size_t*, int) <near match> stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) ^ /usr/include/c++/4.8/bits/basic_string.h:2926:3: note: no known conversion for argument 1 from ‘char’ to ‘const wstring& {aka const std::basic_string<wchar_t>&}’ a1.cpp:35:6: warning: label ‘std’ defined but not used [-Wunused-label] std:exit(EXIT_FAILURE);
line[2]into the message'sline.std::basic_string<_CharT, _Traits, _Alloc>::operator[]<char, std::char_traits<char>, std::allocator<char> >(2ul)is insane.