Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_STATIC_ASSERT (Macro)

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

_STATIC_ASSERT(
    booleanExpression
);

booleanExpression

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

Esta macro se parece a 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), se genera Error del compilador C2466 .

En este ejemplo, comprobamos si sizeofint sea mayor que o igual a 2 bytes y si sizeoflong es 1 bytes. El programa no se compilará y generará Error del compilador C2466 porque long es mayor de 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));
}

Macro

Encabezado necesario

_STATIC_ASSERT

<crtdbg.h>

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft