首页 > 后端开发 > C++ > 正文

为什么 Visual Studio 2015 需要'&”来创建指向成员函数的指针?

Mary-Kate Olsen
发布: 2024-11-03 03:50:02
原创
381 人浏览过

Why Does Visual Studio 2015 Require

Visual Studio 2015 中的非标准语法:使用“&”作为指向成员的指针

问题

尝试访问以下成员函数时C 不使用函数调用语法,Visual Studio 2015 遇到错误:“非标准语法;使用 '&' 创建指向成员的指针。”

说明

在 Visual Studio 中,可以在表达式中使用非成员函数,而无需使用函数调用语法。然而,对于成员函数来说,这是不允许的。要获取指向成员函数的指针,需要使用 '&' 运算符。

解决方法

错误的解决方案是在有问题的成员函数名称前面加上 '& ' 运算符,创建指向成员函数的指针。通过这样做,该函数可以在没有函数调用语法的表达式中使用。

示例

考虑以下类定义:

<code class="cpp">class TicTacToe {
public:
    void player1Move(string coordX);
};</code>
登录后复制

访问player1Move成员如果不使用函数调用语法来调用函数,请使用以下指向成员的指针:

<code class="cpp">TicTacToe::&player1Move;</code>
登录后复制

现在可以在表达式中使用这个指向成员的指针,而无需显式调用该函数:

<code class="cpp">TicTacToe Board;
(Board.*player1Move)("some_coordinate");</code>
登录后复制

通过使用“&”运算符,Visual Studio 可以正确解释意图并避免非标准语法错误。

以上是为什么 Visual Studio 2015 需要'&”来创建指向成员函数的指针?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板