c++primer书中有一段程序,在数组维度中使用了strlen函数,但在编译过程中报错(strlen不为constexper)
#include
#include
using namespace std;
int main() {
char str1[] = "hello";
char str2[] = "world";
char result[strlen(str1) + strlen(str2) - 1];
strcpy(result, str1);
strcat(result, str2);
cout << result << endl;
return 0;
}
一下为报错结果
刚开始学,啥都不懂,麻烦大家了
加一个头文件吧,string
改成char *str1 = "hello";吧
visual studio不支持可变长度数组,数组[]里必须是常量表达式。
不支持变长的数组定义,这样改:
const char str1[] = "hello";
const char str2[] = "world";