13.2.2 undef direktivi
undefine direktivi define direktivinin əksinə əvvəlcədən define ilə hər-hansı ifadəyə verilmiş qiyməti ləğv edir. Aşağıdakı kimi:
#undef Ifadə
Bu zaman define ilə -yə verilmiş qiymət ləğv olur. Əgər undef ilə ifadənin qiymətini ləğv etdikdən sonra yenidən ona müraciət etmək istəsək onda kompilyasiya xətası alarıq, aşağıdakı kimi:
#include
using namespace std;
#define SAY 10
int main()
{
int i, x[SAY];
for (i = 0; i < SAY; ++i)
cin >> x[i];
#undef SAY
int y[SAY];
}
Əgər bu proqramı icra eləsək kompilyasiya səhvi alacayıq. Misal üçün Bu proqram MS Visual Studio –da kompilyasiya olunduqda aşağıdakı xəta alınır:
source.cpp(17): error C2065: 'SAY': undeclared identifier