Параметры std :: rotate не принимаются: начальное значение ссылки на non-const должно быть lvalue - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь написать программу cpp для вращения строки путем перегрузки оператора << </strong>.

rot.h

class rot
{
public:
std::string const a;
friend std::string operator <<(rot& a, int other);
};
#endif

std::string operator <<(rot& a,const int other);

rot.cpp

   std::string& operator<<(rot &os, int const o)
   {
    return std::rotate(os.a.begin(),os.a.begin()+o,os.a.end());
   };

В файле cpp std::rotate подчеркнут красным цветом с сообщением "начальное значение ссылки на non-const должно быть lvalue" .

Есть идеи, как это можно решить?Спасибо!

...