gpt4 book ai didi

c++ - 在结构中创建未知数据类型数组?

转载 作者:行者123 更新时间:2023-11-28 08:16:43 26 4
gpt4 key购买 nike

我有一个用于用值填充类结构的结构:

MyType structMy[] =
{
{ START, INTEGER_TYPE, 3, (void *)&classStart->statusStart.set },
{ STABLE, CHAR_TYPE, 5, (void *)&classtStable->statusStable.set },
{ STOP, DOUBLE_TYPE, 1, (void *)&classStop->statusStop.set }
}

但为了测试和验证,我想将测试用例添加到结构中:一些值取决于每行定义的数据类型和值的数量。

但是由于结构设置和 1 个值或数组,我想我需要一个 (void*)。但是编译器不喜欢它。如何将数组写入数据类型可以更改的结构?

MyType structMy[] =
{
{ START, INTEGER_TYPE, 3, (void*){0, 1, 2} },
{ STABLE, CHAR_TYPE, 5, (void*){'A', 'B', 'C', 'D', 'E'} },
{ STOP, DOUBLE_TYPE, 1, (void*){2.4} }
}

最佳答案

编译器需要那里的指针,所以尝试在别处声明数据:

int is[] = {0, 1, 2};
char cs[] = {'A', 'B', 'C', 'D', 'E'};
double ds[] = {2.4};

MyType structMy[] =
{
{START, INTEGER_TYPE, 3, (void*)is },
{STABLE, CHAR_TYPE, 5, (void*)cs },
{STOP, DOUBLE_TYPE, 1, (void*)ds }
}

关于c++ - 在结构中创建未知数据类型数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7489787/

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