Apabila cuba membebankan '<<' operator sebagai rakan kepada kelas templat 'Pair,' pengguna mungkin menghadapi amaran pengkompil. Mesej ini memaklumkan pengaturcara tentang isu pengisytiharan fungsi bukan templat.
Untuk membebankan operator dengan betul, pengisytiharan rakan harus diubah suai seperti berikut:
friend ostream& operator<< <> (ostream&, Pair&); Dengan membiarkan argumen templat kosong dalam '<>', pengkompil boleh membuat kesimpulan senarai parameter untuk mengenal pasti pengkhususan khusus templat.
Untuk menghapuskan amaran sepenuhnya, pengisytiharan 'operator<<' hendaklah mendahului takrif templat 'Pair', menyerupai struktur berikut:
templateclass Pair; template ostream& operator<<(ostream& out, Pair & v); // Template definition of 'Pair' Dengan mematuhi sintaks yang disemak ini, pengkompil boleh mengenali pengisytiharan rakan sebagai pengkhususan templat dan membebankan '< <' pengendali dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana untuk Membebankan Operator \'<<\' sebagai Rakan untuk Kelas Templat \'Pair\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!