尝试访问以下成员函数时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中文网其他相关文章!