为什么要尝试发送char数组而不是字符串?

Wil*_*3uk 2 c++ arrays types class function

我的功能声明是
siteObject(std::string& url, std::string& get, std::string& post);

那么为什么呢site("String 1", "String 2", "String 3"); 创建不匹配类型错误.它说它想要一个字符串引用,并且它正在接收一个char数组.如果您需要更多细节,请在评论中提问.

Oli*_*rth 6

因为对std::string构造函数有一个隐式调用,它会创建一个临时对象.你不能对非临时引用非const引用(因为修改临时修改没有意义).

因此,要么修改函数以获取const引用,要么修改值,或者将其传递给非临时对象.

  • 这不适用于比MSVC更符合标准的编译器.由于您希望将临时对象作为非const引用传递. (3认同)