我正在使用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