Czy jest jakaś flaga gcc, która zabrania niejawnej konwersji "bool -> int"?GCC: Zabroń niejawnej konwersji bool-> int
chcę dostać żadnego ostrzeżenia z tym kodem:
void function(int value, bool flag) { }
int main()
{
int a = 123;
bool flag = true;
//oops, a common mistake
function(flag, a);
}
Aby użyć 'bool' w C, musisz' #include ' –
pmg
Niejawna konwersja nie jest" obsadą ". Obsada z definicji musi być wyraźnym nawróceniem. Czy też pytasz o C lub C++? Są różnymi językami. –
Co do błędu: "często popełniany błąd" można łatwo wykryć przez fakt, że wykonuje on także ** zawężenie ** konwersji z 'int' na' bool'. Możesz zamiast tego ostrzec. –