I am making a set
of objects, and I am modifying a vector
of strings at a specific index (the vector
is a member of a class), but an error appears. What is the problem?
void seat(set<bus> &b1, int &bno, int &seatno)
{
string name;
cout << "Enter passenger's name: ";
cin >> name;
for(auto &c: b1)
{
if (c.bus_no == bno)
{
c.vec.at(seatno-1) = name;
}
break;
}
}
What does this error mean?
||=== Build: Debug in bus reservation (compiler: GNU GCC Compiler) ===|
C:\Users\metr\Desktop\bus reservation\main.cpp||In function 'void seat(std::set<bus>&, int&, int&)':|
C:\Users\metr\Desktop\bus reservation\main.cpp|38|error: passing 'const value_type {aka const std::__cxx11::basic_string<char>}' as 'this' argument discards qualifiers [-fpermissive]|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\5.1.0\include\c++\bits\basic_string.h|548|note: in call to 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::operator=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|