C++ 错误:正在初始化的参数1

C++ 错误:正在初始化的参数1,c++,arrays,function,function-parameter,C++,Arrays,Function,Function Parameter,我环顾四周,看到了很多这样的例子,但没有一个能解决我的问题。我通过以下代码获得此编译错误: 错误: 守则: 我看到的关于这个错误的所有其他帖子都涉及到声明/传递字符串数组参数的不正确语法,但我已经对所有这些进行了双重和三重检查,我确信它们是正确的;虽然我以前使用水晶球时出错了..: 您正在按值传递散列 这需要复制构造函数, 你没有,或者它是拙劣的,私人的或明确的 因此,通过引用获取散列 void topWords(Hash const& t, std::string const&

我环顾四周,看到了很多这样的例子,但没有一个能解决我的问题。我通过以下代码获得此编译错误:

错误:

守则:


我看到的关于这个错误的所有其他帖子都涉及到声明/传递字符串数组参数的不正确语法,但我已经对所有这些进行了双重和三重检查,我确信它们是正确的;虽然我以前使用水晶球时出错了..

您正在按值传递散列 这需要复制构造函数, 你没有,或者它是拙劣的,私人的或明确的 因此,通过引用获取散列

void topWords(Hash const& t, std::string const& word, std::string* topA); 
而且

String []不是C++中的一种类型 不要使用命名空间std; 不要使用原始数组;使用std::vector或std::array
你得到了什么编译错误?你只发了一半,真不敢相信。编译器清楚地声明了参数1,您所看到的关于参数1的所有信息都是param1。根本不可能找出未显示的内容的问题所在。抱歉,在我写完之前,我无意中点击了发布它的enter。现在正在修复它。仍然没有接近完整的错误消息。还有一行或两行包含详细信息,如转换错误或其他。@user3776749至少还有几行输出,通常带有注释:。。。。。包括他们。或者,您知道,在修复此问题时,OP可能会遇到一个无法从const object t消息调用非const成员Hash::itemCount的消息,或者接近此消息。它可能已经是const了,但是考虑到发布的代码,我有点怀疑它不是。不要悲观:我用我的水晶球打得很好。。。我希望。。。嘿,你有你的水晶球,我有我的=P@JasonC幸运的是,他们是这样的。OP已经知道向量可能是一个很好的匹配,我认为topA可能是一个输出参数。。。应该是一个向量返回值。顺便说一句,后藤被认为是有害的,这是一个典型的例子。我很乐意在这种文化中排名,但我可能太多了lazy@remyabel我错过了。我应该说字符串[]本身并不是一个完整的类型。当然,string[]类型的静态对象可以存在,稍后将获得完整的类型。但是,String []在VLA区域C99的东西,不是在C++中,尽管G++可以接受它作为GNU扩展。
void topWords(Hash const& t, std::string const& word, std::string* topA);