C++ 错误:在“之前需要预期的主表达式”&引用;

C++ 错误:在“之前需要预期的主表达式”&引用;,c++,class,C++,Class,在过去的几个小时里,我一直在编写这段代码,似乎无法理解错误可能是什么。我已经创建了成员函数,我确信它们在main中被正确调用。在将每个变量用作在main中调用的类函数的参数之前,错误消息是“error:expected primary expression Before'variable” 类名\u对 { 公众: Name_pairs(); 无效读取名称(人员的字符串名称、向量名称); 无效读取年龄(矢量年龄、双重年龄、矢量和姓名); 作废打印(); 私人: 人名字符串; 双倍年龄; 载

在过去的几个小时里,我一直在编写这段代码,似乎无法理解错误可能是什么。我已经创建了成员函数,我确信它们在main中被正确调用。在将每个变量用作在main中调用的类函数的参数之前,错误消息是“error:expected primary expression Before'variable”

类名\u对
{    
公众:
Name_pairs();
无效读取名称(人员的字符串名称、向量名称);
无效读取年龄(矢量年龄、双重年龄、矢量和姓名);
作废打印();
私人:
人名字符串;
双倍年龄;
载体名称;
媒介年龄;
};`
Name_pairs::Name_pairs()
{
}
姓名对::读取姓名(人名、姓名)
{
while(true)
{
不能说出某人的名字;
if(name of person==q)
{
姓名。推回(姓名);
打破
}否则{
姓名。推回(姓名);
}
}
}
姓名对::阅读年龄(年龄、人的年龄、姓名)
{
int z=0;
while(true)
{

cout您的代码中有许多错误。最明显的错误是
Name\u pairs::read\u names
的定义中缺少返回类型和参数类型:

void Name_pairs::read_names(string nameOfPerson, vector <string> names) {
  // ... 
}

这些函数的定义和使用是完全错误的。您可能确信它们被正确调用,但随后您就错了。实际上,最好是找到一个好的函数。错误消息应该包括行号。在源代码中用注释指出它引用的行,至少对于第一个错误。参数应该是可能是通过引用传递的。好的,我已经修复了上面提到的错误,但是现在当我在main中调用函数时,它表明变量尚未声明(向量名等)。我在main中包含了类的头文件。
void Name_pairs::read_names(string nameOfPerson, vector <string> names) {
  // ... 
}
string nameOfPerson;
vector <string> names;
identifier.read_names(nameOfPerson, names);