无法初始化char数组

路易斯·博邦

我试图看看为什么下面的代码不起作用:

void test2() {
    char ulu[256];
    ulu[]{ "Hello","Hello" };

}

但是这段代码有效:

struct my_test
{
    char test_array[256];
};

void test() {
    my_test test_array[]{ "hello", "hello" };
    printf("%s", test_array);
}

我希望这两个代码都会失败,但是只有第一个会失败

有人可以向我解释为什么在声明和初始化变量test_array作为my_test类的对象时起作用吗?

我收到一个错误说明:

a value of type "const char *" cannot be used to initialize an entity of type "char"

先谢谢您的帮助!

安德烈亚斯(Andreas DM)

有人可以向我解释为什么在声明和初始化变量test_array作为my_test类的对象时起作用吗?

char ulu[256];
ulu[]{ "Hello","Hello" };

这不是正确的语法。

您想要的是这样的:

char ulu[][256] {
  "Hello",
  "Hello"
};

for (auto const& i : ulu)
  std::cout << i << '\n';

输出:

Hello
Hello

一种更现代的方法将使用std::vectorstd::array

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C中初始化char数组

来自分类Dev

如何初始化struct char数组?

来自分类Dev

无法初始化结构数组C ++

来自分类Dev

无法初始化结构数组

来自分类Dev

列表初始化的char数组是否仍以null终止?

来自分类Dev

使用char数组进行C结构初始化

来自分类Dev

char数组和指针初始化语义

来自分类Dev

C语言中的花括号char数组初始化

来自分类Dev

C编程:初始化函数内部的char数组的指针

来自分类Dev

在C中初始化2D char数组

来自分类Dev

C中char数组的异常初始化程序

来自分类Dev

在C中初始化char指针数组

来自分类Dev

用char数组初始化结构指针

来自分类Dev

char数组和指针初始化语义

来自分类Dev

char数组初始化程序中的多余元素

来自分类Dev

在C中初始化未签名的char数组

来自分类Dev

初始化并使用C ++ std :: string作为char数组

来自分类Dev

初始化一个 const char* 数组

来自分类Dev

错误C7034:无法使用带括号的初始化程序初始化数组

来自分类Dev

无法为数组指定显式初始化程序

来自分类Dev

无法为数组指定显式初始化程序

来自分类Dev

.map无法在未初始化的数组上正常工作

来自分类Dev

无法使用数组变量初始化字典

来自分类Dev

无法动态设置数组初始化程序的长度

来自分类Dev

无法为数组指定显式初始化程序

来自分类Dev

无法初始化具有联合的Structs数组的元素

来自分类Dev

首次将值初始化为整数数组后无法重新初始化

来自分类Dev

为什么在构造函数初始化程序中初始化 const char 数组成员不兼容?

来自分类Dev

Ruby数组初始化