c++ - 为什么它试图发送一个字符数组而不是一个字符串?

标签 c++ class function types arrays

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

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

最佳答案

因为有一个对 std::string 构造函数的隐式调用,它创建了一个临时对象。您不能对临时文件进行非常量引用(因为修改临时文件毫无意义)。

因此,要么修改您的函数以获取 const 引用或按值,要么将非临时对象传递给它。

关于c++ - 为什么它试图发送一个字符数组而不是一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740298/

相关文章:

c++ - 两个不完全相同的函数指针是否兼容?

c++ - 继承时预期结果不起作用?

c - 传递 char[] 参数根本不起作用

c++ - 为什么 GCC 在匹配函数时要看私有(private)构造函数?

c++ - (C++新手)保存一个函数指针,以后可以调用

即使在更新后,Python 类仍在使用实例化值

jQuery every - 将 (this) 与类规范相结合

python - 列表理解中的调用函数

c++ - 如何调用下面定义的函数?

c++ - 如何减少 Lambda 过多的堆栈使用