_STATIC_ASSERT (Macro)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Evaluar una expresión en tiempo de compilación y generar un error cuando el resultado es FALSE.

_STATIC_ASSERT(  
    booleanExpression  
);  

Parámetros

booleanExpression
Expresión (incluidos los punteros) que se evalúa como cero a (TRUE) o 0 (FALSE).

Esta macro es similar a la macros _ASSERT y _ASSERTE, salvo que booleanExpression se evalúa en tiempo de compilación en lugar de en tiempo de ejecución. Si booleanExpression se evalúa como FALSE (0), C2466 de Error del compilador se genera.

En este ejemplo, se comprueba si la sizeof una int es mayor o igual a 2 bytes y si el sizeof un long es de 1 byte. El programa no se compilará y generará C2466 de Error del compilador porque un long es mayor que 1 byte.

// crt__static_assert.c  
  
#include <crtdbg.h>  
#include <stdio.h>  
  
_STATIC_ASSERT(sizeof(int) >= 2);  
_STATIC_ASSERT(sizeof(long) == 1);  // C2466  
  
int main()  
{  
    printf("I am sure that sizeof(int) will be >= 2: %d\n",  
        sizeof(int));  
    printf("I am not so sure that sizeof(long) == 1: %d\n",  
        sizeof(long));  
}  

MacroEncabezado necesario
_STATIC_ASSERT<crtdbg.h>

System::Diagnostics::Debug:: Assert

Referencia alfabética de funciones
_ASSERT, _ASSERTE, macros _ASSERT_EXPR

Mostrar: