我想在C++ 11中创建自己的字符串类,但是我遇到了一些问题。我不能弄清楚如何使用std :: string.at(int)='a';如果使用std :: string.at(int)方法/过载。C++运算符重载,我自己的字符串类
我已经创造了在我自己的类(int)方法:
int at(int index)
{
if(index <0 || index > size-1) {throw std::out_of_range("Error, index out of range");}
return data[index];
}
而且workd好,如果我只用:
MyString.at(2);
在主文件:
MyString = "Hello world!"; //Works fine!
MyString.at(2)='a'; //Gives, Error: expressino must be a modifiable Ivalue.
任何帮助,这将是伟大的,谢谢!
你看过字符串类的文档吗? –
这不是问题,但'index> size-1'可以更通俗地写成'index> = size'。 –