gpt4 book ai didi

c++ - 结构中的字符串/字符数组

转载 作者:太空狗 更新时间:2023-10-29 23:19:55 25 4
gpt4 key购买 nike

我正在尝试创建一个内部有多个字符串数组的结构。出于我的目的,我想使用 std::string 数组,但如果 char * 数组可以完成工作,它们也可以使用。无论哪种方式,我都不知道如何初始化。这是我的:

初始化.h

#include <string>

struct myStruct
{
std::string x[22];
std::string y[8];
};

extern myStruct data[22];

我的表格.cpp

#include <initialize.h>
#include <string>

myStruct data[22];

data[0].x = {"a", "b", "c", "d", ...};

我收到如下所示的错误:

错误 1 ​​错误 C2059:语法错误:“{”错误 2 错误 C2143:语法错误:缺少“;”前 '{'错误 3 错误 C2143:语法错误:缺少“;”在 '}' 之前

我尝试过使用 char * 数组或 std::string * 数组进行各种排列,但无济于事,我被困住了。我忘记了一些基本的东西吗?

提前致谢。

最佳答案

您不能使用 { } 数组初始化语法为数组赋值。它只能在定义后立即初始化数组时使用:

int a[3] = { 3, 4, 5 };

但不是

int a[3];
a = { 3, 4, 5 }; //error

您不会绕过循环或每个成员的手动初始化。但我认为新的 C++0x 标准对此进行了改进,并使这一点(甚至更多的初始化语法)成为可能。

关于c++ - 结构中的字符串/字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com