Apabila cuba mengakses fungsi ahli dalam C tanpa menggunakan sintaks panggilan fungsi, Visual Studio 2015 menghadapi ralat: "sintaks bukan standard; gunakan '&' untuk mencipta penuding kepada ahli."
Dalam Visual Studio, fungsi bukan ahli boleh digunakan dalam ungkapan tanpa menggunakan sintaks panggilan fungsi. Walau bagaimanapun, untuk fungsi ahli, ini tidak dibenarkan. Untuk mendapatkan penunjuk kepada fungsi ahli, anda perlu menggunakan operator '&'.
Penyelesaian kepada ralat adalah dengan meletakkan awalan nama fungsi ahli yang bermasalah dengan '& ' operator, mencipta penunjuk kepada fungsi ahli. Dengan melakukan ini, fungsi boleh digunakan dalam ungkapan tanpa sintaks panggilan fungsi.
Pertimbangkan definisi kelas berikut:
<code class="cpp">class TicTacToe { public: void player1Move(string coordX); };</code>
Untuk mengakses ahli player1Move fungsi tanpa menggunakan sintaks panggilan fungsi, gunakan penuding berikut kepada ahli:
<code class="cpp">TicTacToe::&player1Move;</code>
Penunjuk kepada ahli ini kini boleh digunakan dalam ungkapan tanpa memanggil fungsi secara eksplisit:
<code class="cpp">TicTacToe Board; (Board.*player1Move)("some_coordinate");</code>
Oleh menggunakan operator '&', Visual Studio boleh mentafsir maksud dengan betul dan mengelakkan ralat sintaks bukan standard.
Atas ialah kandungan terperinci Mengapa Visual Studio 2015 Memerlukan \'&\' untuk Mencipta Penunjuk kepada Fungsi Ahli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!