运算符[]显示错误'一元*'

时间:2013-06-17 21:08:35

标签: c++ operators syntax-error

我在C ++中创建自己的类String。 我在这一点上堆积如山:

class String{
    char* arr;
    int len;

    String& operator[](int);
}

String& String::operator[](int n) {
len = 1;
arr = new char[1];
arr = *arr[n];
}

编译器向我展示了这个:

  

在成员函数'String& String :: operator':错误:无效   'unary *'的类型参数

错误在哪里? 感谢帮助! :)

1 个答案:

答案 0 :(得分:1)

我想它应该是这样的,再次问它是否仍然无法编译。

class String{
    char* arr;
    int len;

    char operator[](int);
};

char String::operator[](int n) {
    //if (n >= len) throw;
    //if (arr = NULL) throw;
    return arr[n];
}