首页  >  文章  >  后端开发  >  为什么 Visual Studio 2015 需要“&”来创建指向成员函数的指针?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 03:50:02382浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn