Я пишу простую программу: получить последний символ строки1 и присвоить его строке2.Это как:
#include<iostream>
#include<string>
int main(int argc, char const *argv[])
{
std::string s1 = "abc!";
std::string s2 = s1.back();
std::cout << s1;
return 0;
}
Тем не менее, я получаю ошибку компиляции:
conversion from ‘__gnu_cxx::__alloc_traits<std::allocator<char> >::value_type {aka char}’ to non-scalar type ‘std::__cxx11::string {aka std::__cxx11::basic_string<char>}’ requested
Я не знаю, что эта ошибка точно означает.Кажется, что произошла ошибка преобразования типа.Но возвращаемое значение string :: back должно быть char, верно?
Почему я не могу присвоить его другой строке?И как я могу дать последний символ s1 для s2?