我正在使用gcc編譯器在Linux上的Netbeans上開發一個程序,當在Windows 7上切換到Visual C++時,代碼無法編譯,因爲Visual C++在多行上顯示它爲expected constant expression
。 NetBeans上,我壓根兒類似char name[fullName.size()];
的東西,而在VISUAL C++,我試過了,除其他事項外,用常量創建數組
const int position = fullName.size();
char Name[position];
如何創建一個常數使用的陣列?
注:我知道關於this question,但是有沒有什麼辦法可以在不使用向量的情況下使用這個工作,因爲那需要重寫程序的很多部分?
這裏的實際問題是「如何在堆棧上創建一個非預定大小的數組?」答案是,你不能用VC++。 – 2010-03-19 21:41:44
什麼是fullname.size()?看起來像一個函數調用,這將是運行時調用,因此不是一個常量表達式。 – 2010-03-19 21:42:13
fullname.size()是字符串的長度。這是一個函數調用 – wrongusername 2010-03-19 21:45:59