温布利小王子
2021-06-07 23:16
采纳率: 100%
浏览 42

c++ 定义字符数组的时候出错

#include <iostream>
#include <cstring>
using namespace std;

int main()
{
	const char a[] = "Hello", b[] = "World!";
	const int size = strlen(a) + strlen(" ") + strlen(b) + 1;
	char c[size];
	return 0;
}

char c[size]报错为表达式的计算结果不是常数。

我想知道怎么修改这段代码可以定义字符数组c,还有size 不是已经定义为常量了吗,为什么不能拿来做数组的长度呢?

  • 点赞
  • 收藏

2条回答 默认 最新

  • CSDN专家-张老师 2021-06-07 23:20
    已采纳

    定义数组,数组的大小或表达式结果一定要是确定的才行

    和你的编译器有关系的,题主可以试试别的编译器环境

    点赞 评论
  • 彭大哥学编程 2021-06-07 23:35

    char *c=new char[size];

    用完记得delete c;

    点赞 评论

相关推荐 更多相似问题