gpt4 book ai didi

c - 在 C 中是否有强制类型不兼容的好方法?

转载 作者:行者123 更新时间:2023-12-02 08:58:21 24 4
gpt4 key购买 nike

出于类型检查的目的,我想定义一个函数

void myfunc(type1 a, type2 b)
{
...
}

其中 type1type2 都类型定义为 uint8_t。到目前为止一切都很好,但出于理智和检查的目的(想想 DbC),我想防止使用第一个参数的 type2 值或第一个参数的 type1 来调用该函数第二。遗憾的是,C 的隐式类型转换在这里对我不利。有谁知道有什么办法吗?

最佳答案

您可以将这两种类型包装在一个结构中。

typedef struct {
uint8_t data;
} type1;

typedef struct {
uint8_t data;
} type2;

编辑:我不喜欢它,因为你现在必须使用 a.data 而不是 a

关于c - 在 C 中是否有强制类型不兼容的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3140035/

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