案例是黑马程序员C++教程最后一个案例:机房预约系统
错误代码分析
错误代码如下:
成员函数代码
//显示学生
void Manager::printStudent(Student& s)
{
cout << "学号:" << s.m_Id << " 姓名: " << s.m_Name << " 密码:" << s.m_Password << endl;
}
调用代码
for_each(vStu.begin(), vStu.end(), printStudent);
其中,vStu是一个vector<Student>
,Student
中包含一些int
,string
属性。
** 错误提示:**
非标准语法;请使用“&”来创建指向成员的指针
原因
for_each
调用的函数应该就是函数本身,而类内函数有个特点,就是会自带this
指针
解决办法
在printStudent
函数声明时,将其声明为static
即可。
详细参考:https://blog.csdn.net/gzplyx/article/details/128082569