C++ 参数类型有:(size\u t,const char[2])

C++ 参数类型有:(size\u t,const char[2]),c++,C++,//打招呼 常量字符串问候语=你好,+name+!; string没有可以接受这些参数的构造函数 你期望它做什么?如果您想要一个字符串包含一个字符的N个副本,则需要向其传递一个字符,而不是一个字符数组,即 const string spaces(greeting.size(), ' '); 简单地从双引号改为单引号就解决了这个问题。谢谢much@Bawboc:这种情况就像你正在编程一个动物园,你所有的笼子都实现为std::vector。那么你可以说,把汽车换成动物就解决了问题。我不明白。我的回

//打招呼 常量字符串问候语=你好,+name+!; string没有可以接受这些参数的构造函数

你期望它做什么?如果您想要一个字符串包含一个字符的N个副本,则需要向其传递一个字符,而不是一个字符数组,即

const string spaces(greeting.size(), ' ');

简单地从双引号改为单引号就解决了这个问题。谢谢much@Bawboc:这种情况就像你正在编程一个动物园,你所有的笼子都实现为std::vector。那么你可以说,把汽车换成动物就解决了问题。我不明白。我的回答不对吗?我有点胡闹,所以我不知道发帖时应该使用的细微差别。@James:嗯,我想指出的是,简单的引号更改并不是那么简单。它改变了一些非常基本的东西,即一个对象的类型和值,我想提醒你,不要像你的评论所建议的那样,将其视为一个简单的打字错误。你应该真正理解其中的区别。还有其他语言,比如BASH,其中两种引号相似但细微不同,一种可能是简单的键入,但是在C++中,它根本不是这样。
const string spaces(greeting.size()," ");
const string spaces(greeting.size(), ' ');