/*
 * demo_versions/enum_assign_int.c
 * --------------------------------------------------------------------------
 * 演示：枚举与整型的赋值差异 —— C 宽松，C++ 严格。
 *
 * 来源：wiki 块 [58954439:15]（C/C++ 类型严格性对照）：
 *   C 中可 `enum Color c = 1;`（整型隐式转 enum）；
 *   C++ 中需 `enum Color c = (Color)1;` 或 `Color c = static_cast<Color>(1);`。
 *
 * 验证：
 *   gcc -std=c17   → PASS（int 隐式转 enum 合法）
 *   g++ -std=c++17 → ERROR （invalid conversion from int to Color）
 *
 * 运行：
 *   tools/std_probe.py --lang c   --file tools/demo_versions/enum_assign_int.c
 *   tools/std_probe.py --lang c++ --file tools/demo_versions/enum_assign_int.c
 * --------------------------------------------------------------------------
 */
#include <stdio.h>

enum Color { RED, GREEN, BLUE };

int main(void) {
    enum Color c = 1;          /* C 合法；C++ 报 invalid conversion from int to Color */
    printf("c = %d\n", c);
    return 0;
}
