+-

我有这个功能:
std::string Room::getUsersAsString(std::vector<User*> usersList, User * excludeUser)
{
std::string usersNames = " ";
for (int i = 0; i < usersList.size(); i++) {
if (usersList[i]->getUsername() != excludeUser->getUsername) {
usersNames.append(usersList[i]->getUsername);
usersNames.append(" ");
}
}
return usersNames;
}
每当我尝试运行该程序时,我都会收到以下错误:
non-standard syntax; use '&' to create a pointer to member
无法找到解决方法.
最佳答案
如果你使用
if (usersList[i]->getUsername() != excludeUser->getUsername)
代替
if (usersList[i]->getUsername() != excludeUser->getUsername())
你的编译器会认为你想使用函数指针而不是方法本身,如果你想使用函数指针,你仍然需要得到它的地址(使用&).
所以请确保在函数调用后不要忘记你的()!
点击查看更多相关文章
转载注明原文:c – “非标准语法;使用’&’创建指向成员的指针“错误vs2015 - 乐贴网