Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Visual Studio 2019 e versioni successive:
Conversione implicita da 'type' a bool. Possibile perdita di informazioni
C4800 è un avviso di livello 3 in Visual Studio 2015 e versioni precedenti:
'type': forzatura del valore a bool 'true' o 'false' (avviso di prestazioni)
Osservazioni:
Questo avviso viene generato quando un valore viene convertito in modo implicito nel tipo bool. In genere, questo messaggio è causato dall'assegnazione di int variabili alle bool variabili in cui la int variabile contiene solo valori true e false, e potrebbe essere ridecredato come tipo bool. Se non è possibile riscrivere l'espressione per usare il tipo bool, è possibile aggiungere "!=0" all'espressione, che fornisce il tipo di boolespressione . Il cast dell'espressione al tipo bool non disabilita l'avviso, ovvero in base alla progettazione.
Questo avviso non viene generato in Visual Studio 2017.
Questo avviso è disattivato per impostazione predefinita a partire da Visual Studio 2019. Usare /wn4800 per abilitare C4800 come avviso di livello n o /Wall per abilitare tutti gli avvisi disattivati per impostazione predefinita. Per altre informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.
Esempio
L'esempio seguente genera l'errore C4800 e mostra come risolverlo:
// C4800.cpp
// compile with: /W4 /w44800
int main() {
int i = 0;
// To fix, instead try:
// bool i = 0;
bool j = i; // C4800
j++;
}