Rumah > Artikel > pembangunan bahagian belakang > Mengapa Saya Mendapat Ralat \"Sintaks Bukan Standard\" dalam Kod C Saya?
Apabila menulis kod dalam C , pengaturcara sering menghadapi ralat seperti "sintaks bukan standard." Ralat ini berlaku apabila operasi dilakukan menggunakan sintaks yang tidak diiktiraf secara rasmi oleh bahasa C.
Dalam kes khusus anda, ralat berasal daripada kod berikut :
<code class="cpp">void TicTacToe::player1Move(string coordX) // ERROR { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
Di sini, fungsi player1Move ialah fungsi ahli kelas TicTacToe. Walau bagaimanapun, nama fungsi digunakan sebagai ungkapan tunggal, tanpa menggunakan sintaks panggilan fungsi. Menurut konvensyen C, ini tidak betul untuk fungsi ahli.
Untuk mendapatkan penunjuk dengan betul kepada fungsi ahli, anda perlu menggunakan alamat-pengusaha pengendali (&). Operator ini membuat rujukan kepada lokasi memori fungsi, membolehkan kami mengakses fungsi secara tidak langsung.
Pembetulan kod anda ialah:
<code class="cpp">void TicTacToe::player1Move(string coordX) { cout << "Enter X: " << endl; cin >> coordX; _coordX = coordX; }</code>
Dengan perubahan ini, fungsi player1Move boleh dipanggil dengan betul oleh bahagian lain program menggunakan . pengendali, seperti ini:
<code class="cpp">TicTacToe Board; Board.player1Move("1");</code>
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \"Sintaks Bukan Standard\" dalam Kod C Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!