程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++問題-程序在dev上編譯沒有問題,在vs上不行,求大神告知原因

c++問題-程序在dev上編譯沒有問題,在vs上不行,求大神告知原因

編輯:編程解疑
程序在dev上編譯沒有問題,在vs上不行,求大神告知原因

void MyStr:: Set(int _len){
char ch[_len];
cin>>ch;
error C2057: 應輸入常量表達式
1>d:\c++編程\vs2008\projects\實驗九\實驗九\mystr.cpp(43) : error C2466: 不能分配常量大小為 0 的數組
1>d:\c++編程\vs2008\projects\實驗九\實驗九\mystr.cpp(43) : error C2133: “ch”: 未知的大小
在dev上編譯沒有問題,在vs上不行,求大神告知原因

最佳回答:


因為dev使用的是GCC編譯器,該編譯器是允許使用變長數組的
而VS裡的編譯器是不允許變長數組的,數組的長度必須是個常量,可以使用new或者malloc來替代
PS:使用變長數組也要小心,有不少坑

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved