1樓:
過載錯誤,不能區別2個過載函式
templateconst t& array::operator(size_t index) const//加上const就能區別了
//////////////////給你個例子#include
using namespace std;
class a
void fun(int b)
void fun(int b)const
};int main()
/////////
類的非靜態成員函式,編譯器預設的會在引數列表最左面加上個this指標作為引數,在方法後面加const就是修飾this指標所指向的物件的,當然就this指標就指向物件自己,所以非靜態成員方法後面加const的方法就不能改變類中成員變數的值了,
同時和非const方法相比,引數型別不同,所以也就滿足過載條件了
2樓:匿名使用者
第二個後面加上 const即可。因為不允許對參數列相同而返回值不同的情況作過載。加上const後,const修飾this,引數不同。
在前面加,修飾的是返回值;在後面加,修飾的是函式的this指標。類的每個非靜態成員函式的第一個引數都是this指標。
3樓:
一個程式執行是需要main函式的,把模板巢狀到具體程式中就可以,這個模板只不過是程式的一部分
關於C 中類的問題,關於C 中類别範本的問題
include 標頭檔案以 h 結尾 using namespace std template class complex template void complex set t a,t b 類函式在函式體外定義要寫template 類名後要加,下面同此 template void complex ...
C 關於char陣列的問題,關於C char型別陣列長度的問題
可為什麼下標引用超出定義沒有錯誤 因為宣告char陣列的時候,b只是被宣告為指向char陣列第一個地址的指標。用操作符取資料的時候,編譯器看成是首地址向後偏移 char型別的長度 序號 超過了界限之後,至於後邊取到什麼意外資料就不一定了。所以一般需要使用char陣列儲存一個長度為n的字串的時候都宣告...
c網路程式設計的問題,關於TcpClient類
1 read放在while裡面,也可以非同步接收,2 你的第二個問題可以用 訊息邊界 來解決,不用非同步的話,必須是你一條,我接收,再發,不然會阻塞 3 另開執行緒接收,建議你看一下msdn,裡面有一個關於執行緒的返回值的文章 問題3 例項化client後要開一個執行緒來讀寫資料的。1 對,read...