在用 C 编写代码时,程序员经常会遇到“非标准语法”之类的错误。当使用 C 语言未正式识别的语法执行操作时,会出现此错误。
在您的具体情况下,错误源于以下代码:
<code class="cpp">void TicTacToe::player1Move(string coordX) // ERROR { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
这里,player1Move函数是TicTacToe类的成员函数。但是,函数名称用作单个表达式,而不调用函数调用语法。根据 C 约定,这对于成员函数是不正确的。
要正确获取指向成员函数的指针,需要使用 address-of操作员 (&)。此运算符创建对函数内存位置的引用,使我们能够间接访问该函数。
代码的修复是:
<code class="cpp">void TicTacToe::player1Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
通过此更改,player1Move 函数可以程序的其他部分使用 .运算符,如下所示:
<code class="cpp">TicTacToe Board; Board.player1Move("1");</code>
以上是为什么我的 C 代码中出现'非标准语法”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!