Mengapa Saya Mendapat Ralat \'Sintaks Bukan Standard\' dalam Kod C Saya?

Barbara Streisand
Lepaskan: 2024-11-02 01:25:30
asal
662 orang telah melayarinya

Why Am I Getting a

Memahami Ralat "sintaks bukan standard"

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.

Isu: Penunjuk Fungsi Ahli Hilang

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>
Salin selepas log masuk

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.

Penyelesaian: Menggunakan Alamat-Pengendali

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!