自定义类内对std::string的引用问题
我自己定义了一个Test类:
#include<iostream>#include <string>using namespace std;class Test{public: Test(){} Test(string &aStr):m_Str(aStr){} const char& operator[](size_t aPos)const { return m_Str[aPos]; } char& operator[](size_t aPos) { return m_Str[aPos]; }private: string m_Str;};int main(){ Test t("test");//这里会出现error,const char*不能转化为string& cout << t[0] << endl; const Test lTest("Halen"); cout << lTest[1] << endl;}#include<iostream>#include <string>using namespace std;class Test{public: Test(){} Test(string aStr):m_Str(aStr){} const char& operator[](size_t aPos)const { return m_Str[aPos]; } char& operator[](size_t aPos) { return m_Str[aPos]; }private: string m_Str;};int main(){ Test t(string("test")); cout << t[0] << endl; const Test lTest("Halen"); cout << lTest[1] << endl;}