从member-function返回字符串指针

时间:2014-05-04 15:45:15

标签: c++ pointers accessor

我不明白为什么当我从访问器返回一个char数组时出现错误信息。

定义

中的

public:
   const char *getString() {
     return _strPtr;
   }
private:
   char* _strPtr;
   int _strLen;

然后我试图访问类

中的指针
_strLen = strlen(String.getString());

但我收到错误消息:候选者是const char * getString();

我现在看不出我做错了什么

提前致谢!!!

String String::operator=(const String& string) {

    // code ..... 

   _strLen = strlen(string.getString());

   //code ...
}

1 个答案:

答案 0 :(得分:3)

运算符的参数是const引用,因此调用的方法必须是const

const char* getString() const { .... }
                        ^^^^^