Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从成员函数返回字符串指针_C++_Pointers_Accessor - Fatal编程技术网

C++ 从成员函数返回字符串指针

C++ 从成员函数返回字符串指针,c++,pointers,accessor,C++,Pointers,Accessor,我不明白为什么从访问器返回字符数组时会收到错误消息 在类定义中 public: const char *getString() { return _strPtr; } private: char* _strPtr; int _strLen; 然后我尝试访问类中的指针 _strLen = strlen(String.getString()); 但我得到了错误消息:候选对象是const char*getString() 我看不出我现在做错了什么 提前感谢 Str

我不明白为什么从访问器返回字符数组时会收到错误消息

在类定义中

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 ...
}

运算符的参数是
const
reference,因此调用的方法需要是
const

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

运算符的参数是
const
reference,因此调用的方法需要是
const

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

运算符的参数是
const
reference,因此调用的方法需要是
const

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

运算符的参数是
const
reference,因此调用的方法需要是
const

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

您选择了一个字符*并希望返回一个常量字符*?@demonofnight,这很好。您选择了一个字符*并希望返回一个常量字符*?@demonofnight,这很好。您选择了一个字符*并希望返回一个常量字符*?@demonofnight,这很好。您选择了一个字符*并希望返回一个常量字符*?@demonofnight,这很好很好,但是在类定义中它声明了constant@user2991252不,它不是。但是在类定义中它声明了constant@user2991252不,它不是。但是在类定义中它声明了constant@user2991252不,它不是。但是在类定义中它声明了constant@user2991252不,不是。