Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleme zamanında bir ifadeyi değerlendirin ve sonuç olduğunda FALSEbir hata oluşturun.
Sözdizimi
_STATIC_ASSERT(
booleanExpression
);
Parametreler
booleanExpression
Sıfır olmayan () veya 0FALSE () olarak değerlendirilen ifade (TRUEişaretçiler dahil).
Açıklamalar
Bu makro ve _ASSERTE makrolarına _ASSERTbenzer, ancak çalışma booleanExpression zamanında değil derleme zamanında değerlendirilir. (0) olarak değerlendirilirse booleanExpression FALSE Derleyici Hatası C2466 oluşturulur.
Örnek
Bu örnekte, a int değerinin sizeof 2 bayttan büyük veya buna eşit olup olmadığını ve a değerinin sizeof long 1 bayt olup olmadığını denetleriz. Program derlenmez ve derleyici hatası C2466 oluşturur çünkü a long 1 bayttan büyük.
// 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));
}
Gereksinimler
| Makro | Gerekli başlık |
|---|---|
_STATIC_ASSERT |
<crtdbg.h> |
Ayrıca bkz.
Alfabetik işlev başvurusu
_ASSERT, _ASSERTE, _ASSERT_EXPR makrolar