非标准语法;请使用&来创建指向成员的指针

出现这种错误时有一种可能是在调用函数时,没在最后加上括号,导致出错。

这里介绍另一种原因。

我再利用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);

语法上是没有错误的,但生成代码时报错:

非标准语法;请使用&来创建指向成员的指针_第1张图片找了半天没发现错误,于是尝试把 .h 中的声明删掉,问题解决。

 

你可能感兴趣的:(开发语言,c++)