問題描述:如題,先看不報錯的**如
templateclass test
template//2
void fun(test& data)
因為需求傳遞需要函式指標,通過fun函式對類內私有成員進行操作。
如果定義類內成員fun,則需要修改傳參。但是非要用友元函式怎麼辦呢。
如果有1沒有2,則報錯:成員無法訪問
如果沒有1有2,則報錯:無法解析的外部命令
如果沒有1沒有2,則報錯:重定義
修改參考:
還有很多修改的方法
順帶,如果考慮模板類的派生,則:
類模板中的友元宣告
有三種友元宣告可以出現在類模板中 1 非模板友元類或友元函式。在下面的例子中,函式foo 成員函式bar 以及foobar類都是類模板queueitem的所有例項的友元。class foo templateclass queueitem 上面的例子中,注意第三條,在queueitem類把foo類的乙...
模板類的 友元模板函式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 include include usingnamespacestd template classt c...
模板類的 友元模板函式
模板類的 友元模板函式 第二名 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 include include usingnamespacestd te...