gpt4 book ai didi

c - 在 C 中声明匿名结构的局部 const 变量

转载 作者:行者123 更新时间:2023-12-04 00:52:44 27 4
gpt4 key购买 nike

我有以下代码:

void fn(){
struct{
int a;
int b;
} s1, s2;
s1.a = 1;
s1.b = 2;
s2.a = 1 << s1.a;
s2.b = 1 << s2.b;
}

我尝试过以某种方式使变量保持常量,但在尝试这样做时我遇到了一堆编译器错误:

void fn(){
const struct{
int a;
int b;
} s1{.a = 1, .b = 2}, s2{.a = 1 << s1.a, .b = 1 << s1.b};
}
main.c:7:10: error: expected ';' at end of declaration
} s1{.a = 1, .b = 2}, s2{.a = 1 << s1.a, .b = 1 << s1.b};
^
;
1 error generated.

问题:

对于通过 s1 的字段定义 s2 的字段声明同一匿名结构的两个常量局部变量 s1 和 s2 的问题是否有解决方案?

最佳答案

您只是忘记了 = 符号。

void fn(){
const struct {
int a;
int b;
} s1 = {
.a = 1,
.b = 2,
}, s2 = {
.a = 1 << s1.a,
.b = 1 << s1.b,
};
}

关于c - 在 C 中声明匿名结构的局部 const 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65211510/

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