This is part of my code base
I am rying to run the below code and getting the warning like below code:
#define assert_always() assert(TRUE)
base::derived(
uint8 id;
){
switch(id)
{
case one:
----;
break;
case two:
----;
break;
default:
assert_always();
break;
}
}
Warning 634: Strong type mismatch (type 'bool') in equality or conditional .......
The line number is pointing to `assert_always()` function call. Can you guide me to first to understand and then solve this warning?
I have checked by changing TRUE to true but stil having the same problem ...
Actually code was like this in c++ :
#define assert_always()
base::derived(
uint8 id;
){
switch(id)
{
case one:
----;
break;
case two:
----;
break;
default:
assert_always();
break;
}
}
I got the warning Warning 634: Strong type mismatch (type 'bool') in equality or conditional so I introduce
но все-таки пришло предупреждение и после другого ответа изменилось на
but still warning is there ...I am not getting all the exact reason behind this ...
—-; строка — это некоторая функциональность … и упомянутый код на C ++
Что такое TRUE
?
Попробуйте это с фактической логической константой:
#define assert_always assert(false)
Также обратите внимание, что assert(true)
будут никогда утверждать, так как выражение (буквально) верно.
Используйте настоящий тип C ++ bool:
assert(true)
вместо TRUE
Но это не будет делать то, что вы хотите (утверждайте всегда). утверждать (ложь) будет.