我想在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'。 –