C++11 で独自の文字列クラスを作成しようとしていますが、いくつか問題があります。私のクラスを std::string クラスと比較すると、
std::string.at(int) = 'a'; メソッド/オーバーロード。
私は自分のクラスで at(int) メソッドを作成しました:
int at(int index)
{
if(index <0 || index > size-1) {throw std::out_of_range("Error, index out of range");}
return data[index];
}
そして、私が使用するだけでうまくいきました:
MyString.at(2);
メインファイルで:
MyString = "Hello world!"; //Works fine!
MyString.at(2)='a'; //Gives, Error: expressino must be a modifiable Ivalue.
これについての助けは素晴らしいでしょう、ありがとう!