我有一个这样的类.我想使用字符串的引用,但它不起作用.我怎么能使用字符串&?
#include <string>
using namespace std;
class T
{
public:
T(string& s);
private:
string s;
};
T::T(string& s)
{
this->s = s;
}
int main(void)
{
T t("Test Object");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误:'T :: T(std :: string&)':无法将参数1从'const char [12]'转换为'std :: string&'
用途const:
class T
{
public:
T(const string& ss);
private:
string s;
};
T::T(const string& ss) : s(ss)
{
}
Run Code Online (Sandbox Code Playgroud)
"Test Object"将被构造为一个const string在传递给T构造函数之前,因此构造函数必须接受一个const string.