【发布时间】:2016-02-01 23:17:57
【问题描述】:
有谁知道为什么 Visual Studio 是唯一给我这个错误的编译器 - 表达式必须有一个常量值(指大小)。
#include <iostream>
#include <cstring>
using std::cout; using std::endl;
int main() {
const char Ca3[] = { "Hello" };
const char Ca4[] = { "World" };
const size_t size = strlen(Ca3) + strlen(Ca4) + 2;
char bigString[size];
strcpy(bigString, Ca3);
strcat(bigString, " ");
strcat(bigString, Ca4);
cout << bigString << endl;
system("PAUSE");
return 0;
}
【问题讨论】:
-
strlen是一个运行时函数。它不能在编译时使用。
标签: c++ visual-c++