Existe uma boa maneira de forçar a incompatibilidade de tipos em C?
Para fins de verificação de tipo, eu gostaria de definir uma função nas linhas de
void myfunc(type1 a, type2 b)
{
...
}
Ondetype1
etype2
ambos são digitados comouint8_t
. Até agora tudo bem, mas para fins de sanidade e verificação (pense em DbC), gostaria de impedir que a função fosse chamada com umtype2
valor para o primeiro parâmetro ou umtype1
para o segundo. Infelizmente, a tipografia implícita de C é contra mim aqui. Alguém sabe de uma maneira?