出现这种错误时有一种可能是在调用函数时,没在最后加上括号,导致出错。
这里介绍另一种原因。
我再利用for_each遍历vector容器的过程中,在.cpp文件中写了两个print函数:
//遍历vector容器函数
void printStuVector(Student& s)
{
cout << "学号:" << s.m_sId
<< " 姓名:" << s.m_Name
<< " 密码:" << s.m_Pwd << endl;
}
void printTeaVector(Teacher& t)
{
cout << "职工号:" << t.m_depId
<< " 姓名:" << t.m_Name
<< " 密码:" << t.m_Pwd << endl;
}
for_each(vStu.begin(), vStu.end(), printStuVector);
for_each(vTea.begin(), vTea.end(), printTeaVector);
并在 .h 文件中作了声明:
//遍历vector容器函数
void printStuVector(Student& s);
void printTeaVector(Teacher& t);
语法上是没有错误的,但生成代码时报错:
找了半天没发现错误,于是尝试把 .h 中的声明删掉,问题解决。