@陳昱(CY)
非常感謝,我之前沒考慮到成員函數的指針問題,事實上我根本不知道這個問題,今天太晚了,明天把你提供的鏈接學習一下,然后修改之
@瘋狂的面包
你在dev c++環境下,或者gcc編譯器中運行過我的代碼嗎?它是正確的,不同的編譯器實現不同而已,c標準的所有東西并非每個編譯器都完全實現了,而且c/c++標準本身也在發展中,的確,最初c/c++不支持定義變長數組,但是c99增加了相關內容,而dev c++編譯器實現了這點,于是我的代碼在dev c++中就是對的。
@Hsssssss
vs中c/c++編譯器跟vc雷同,不支持動態數組定義,我舉的例子是有前提的,您不能把那個前提拋開來看問題啊。
@Hsssssss
我之前說得很清楚,必須在支持動態數組定義的編譯器中才能那么用,c99標準中新增加了動態數組的定義,vc沒有完全實現c99因此不能那么用,但是dev c++可以的。vc,vs不能定義數組要求其長度是常量,當然不能編譯了,但是dev c++用的是gcc編譯器,它支持動態數組定義,如果不信的話,你可以在windows環境下用dev c++編譯器試試,或者在linux環境下試試
@kkk
在支持動態數組的平臺上sizeof同樣能計算數組的大小,因此不能簡單地說sizeof是編譯時計算結果的,比如在dev C++下如下語句能計算數組大小:
int len;
cin>>len;
int array[len];
cout<<sizeof(array);
輸出結果跟你輸入的len的大小有關,這充分說明sizeof能在運行時求值!
@ZhangShine
呵呵,沒打算寫書哈,寫出來就是為了交流而已