---
title: C6230 | Microsoft Docs
ms.custom: ''
ms.date: 11/04/2016
ms.technology:
- vs-ide-code-analysis
ms.topic: conceptual
f1_keywords:
- C6230
helpviewer_keywords:
- C6230
ms.assetid: aa91291d-cdc5-4720-89d4-194ce0557e99
author: mikeblome
ms.author: mblome
manager: douge
ms.workload:
- multiple
ms.openlocfilehash: ef457e7ef8b0e0b4ea8667fd66c3439de667e6a4
ms.sourcegitcommit: 6a9d5bd75e50947659fd6c837111a6a547884e2a
ms.translationtype: MT
ms.contentlocale: de-DE
ms.lasthandoff: 04/16/2018
---
# <a name="c6230"></a>C6230
Warnung C6230: Implizite Umwandlung zwischen semantisch unterschiedlichen Integer-Typen: HRESULT wird in einem Boolean-Kontext verwendet.  
  
 Diese Warnung gibt an, dass eine bare `HRESULT` ist in einem Kontext verwendet wird, z. B. `if` -Anweisung, in denen ein boolesches Ergebnis erwartet wird. Dies verursacht wahrscheinlich falsche Ergebnisse. So ist z. B. der typische Erfolgswert für `HRESULT` (`S_OK`) false, wenn er als boolescher Wert getestet wird.  
  
## <a name="example"></a>Beispiel  
 Der folgende Code generiert diese Warnung:  
  
```  
#include <windows.h>  
  
VOID f( )  
{  
  LPMALLOC pMalloc;  
  HRESULT hr = CoGetMalloc(1, &pMalloc);  
  
  if (hr)  
  {  
  
    // code ...  
  }  
  else  
  {  
    // code ...  
  }  
}  
```  
  
 In den meisten Fällen die [erfolgreich](http://go.microsoft.com/fwlink/?LinkId=92738) oder [Fehler](ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/com/htm/error_899v.htm) -Makro zum Testen des Werts verwendet die `HRESULT`. So korrigieren Sie die Warnung unter Verwendung des folgenden Codes  
  
```  
#include <windows.h>  
  
VOID f( )  
{  
  LPMALLOC pMalloc;  
  HRESULT hr = CoGetMalloc(1, &pMalloc);  
  
  if (SUCCEEDED(hr))  
  {  
  
    // code ...  
  }  
  else  
  {  
    // code ...  
  }  
}  
```  
  
 Bei dieser Warnung entspricht der `SCODE`-Typ `HRESULT`.  
  
 Beachten Sie, dass die Verwendung von "malloc" und "free" (und verwandter dynamischer Speicherzuweisungs-APIs) viele Fehler bei Speicherverlusten und Ausnahmen verursachen kann. Um diese Arten von Speicherverlusten und Ausnahmen vollständig zu vermeiden, verwenden Sie die Mechanismen, die von der C++-Standardvorlagenbibliothek (STL) bereitgestellt werden. Dazu gehören ["shared_ptr"](/cpp/standard-library/shared-ptr-class), [Unique_ptr](/cpp/standard-library/unique-ptr-class), und [Vektor](/cpp/standard-library/vector). Weitere Informationen finden Sie unter [intelligente Zeiger](/cpp/cpp/smart-pointers-modern-cpp) und [C++-Standardbibliothek](/cpp/standard-library/cpp-standard-library-reference).