小编use*_*818的帖子

在 C 中声明匿名结构的局部常量变量

我有以下代码:

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;
}
Run Code Online (Sandbox Code Playgroud)

我尝试过以某种方式使变量保持不变,但是在尝试以这种方式执行此操作时出现了一堆编译器错误:

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

c struct

3
推荐指数
1
解决办法
72
查看次数

标签 统计

c ×1

struct ×1