实现C++类字符串 我试图在C++中实现一个字符串类。我试图重载==运算符,但不断出现以下错误:

实现C++类字符串 我试图在C++中实现一个字符串类。我试图重载==运算符,但不断出现以下错误:,c++,string,class,C++,String,Class,错误C2676:二进制“[”:“const MyString”未定义此运算符或到预定义运算符可接受的类型的转换 及 错误C2088:“[”:对于类来说是非法的 如错误所示,您尚未为[]运算符编写实现。请在MyString类中尝试以下操作: 问题在于错误是怎么说的。您的类没有实现[]运算符,您正在尝试使用它。该类的其余部分是如何实现的?您是否重载了[]运算符运算符?您可能应该在包含字符串内容的类的成员上使用下标,而不是在类本身上。如果您可以得到更具描述性的错误消息,我想知道如何使用。可能您定义了运

错误C2676:二进制“[”:“const MyString”未定义此运算符或到预定义运算符可接受的类型的转换

错误C2088:“[”:对于类来说是非法的


如错误所示,您尚未为[]运算符编写实现。请在MyString类中尝试以下操作:


问题在于错误是怎么说的。您的类没有实现[]运算符,您正在尝试使用它。该类的其余部分是如何实现的?您是否重载了[]运算符运算符?您可能应该在包含字符串内容的类的成员上使用下标,而不是在类本身上。如果您可以得到更具描述性的错误消息,我想知道如何使用。可能您定义了运算符[]对于您的类,但忘记提供常量版本?或者可能您根本没有提供。由于您没有提供任何其他详细信息,因此最好是粗略猜测。您的类是否有运算符[]?大小将更好。
bool operator==(const MyString& str1, const MyString& str2) {

int i;
for (i=0; str1[i] != '\0'; i++){
    if (str1[i] != str2[i]) {
        return false;
    }
}
return true;
}
char& operator[](int index){
    //return character value at given index, perform bounds checking if you like
}