C'è qualche flag gcc per proibire la conversione "bool -> int" implicita?GCC: Vieta la conversione implicita bool-> int
voglio ottenere alcun preavviso con questo codice:
void function(int value, bool flag) { }
int main()
{
int a = 123;
bool flag = true;
//oops, a common mistake
function(flag, a);
}
Per utilizzare 'bool' in C è necessario' #include ' –
pmg
Una conversione implicita non è un" cast ". Un cast, per definizione, deve essere una conversione esplicita. Inoltre, stai chiedendo di C o C++? Sono lingue diverse. –
Per quanto riguarda l'errore: il tuo "errore comune" è facilmente rilevato dal fatto che esegue anche una conversione ** restringente ** da 'int' a' bool'. Puoi avvisare su questo invece. –