1.引用宣告之謎:
code:
//program//
#include
using
namespace std;
int max(int &a,int &b)
int main()
上邊程式編譯能通過嗎?當然不行。為什麼?在函式呼叫max(i,5)中,由於5不是左值,不能為它建立引用,所以產生錯誤。
解決方案:修改max()的定義, 把其引數宣告為常引用:
int max(const int &a,const int &b);
心得體會:將函式的引數宣告為常引用, 不完全是因為引數的值在函式體內不能修改,還考慮到了接受非左值作為函式實參的情況。
2.類定義之謎
問題描述:為什麼類定義結束後,一定要在「}」後加「;」,否則編譯器會報錯。
問題解答:類在c++中被當做一種資料型別,而凡是直接跟在資料型別後面的識別符號,不是變數就是函式。這樣,類的定義結束後,如果不在其後加分號,就會將其後面的內容解釋成乙個變數或函式,從而導致錯誤。
C 集合型別大揭秘
listlist new list list.enumerator enumerator list.getenumerator try finally public class myset ienumerable public ienumerator getenumerator public cla...
A 演算法大揭秘
24 0xff color 000000 font size medium a 演算法大揭秘 原文 http www.gamedev.net reference articles article2003.asp 數碼電子書 a 原理講解 http www.gotoread.com s e vo 55...
再議SOA十大謎思
在joe mckendrick最近的文章 gartner 為什麼soa爭論雙方都有錯的十個理由 中,他提到了gartner的yefim natis在ebizq的 soa in action 活動上所作的網播主題演講中陳述的soa十大謎思。根據yefim的說法,soa的 狂熱者 與 懷疑者 都造就了s...