1.[Error] in C++98 'box1' must be initialized by constructor, not by '{...}'
vector初始化問題: CBox box1 ={78.0,24.0,18.0}; 改成 CBox box1 (78.0,24.0,18.0)
或者開啟編譯選項 -std=c++11
2. 變量定義的問題:
例如:想要定義三個整型變量,初始化為0;
>>int a, b, c=0;這樣不對!!!
>>int a, b, c; a=b=c=0; 這樣可以!
>>int a=0, b=0, c=0; 這樣可以!
3. 二維數組作為函數參數時必須注意:
將二維數組當作參數的時候,必須指明所有維數大小或者省略第一維的,但是不能省略第二維或者更高維的大小;
原因:這是由編譯器原理限制的。事實上,編譯器是這樣處理數組的:
對於數組 int p[m][n],如果要取p[i][j]的值(i>=0 && i<m && 0<=j && j < n),編譯器是這樣尋址的,它的地址為:
p + i*n + j;//注意n!!
這里如果省略了第二維或者更高維的大小,編譯器將不知道如何正確的尋址!!!
正確寫法:
void function(int p[][n])
void function(int p[m][n])
void function(int p[][])這樣不可以
4. makefile編譯出錯: undefined reference to 'RBF()'
collect2: error: ld returned 1 exit status
一開始以為是makefile寫的依賴關系出錯,但后來發現竟然是RBF這個函數的聲明和定義里的參數不一樣,有沒有&都會報錯,要統一;
--------(不斷更新中)
日積月累,滴水穿石