Znalazlem ten przyklad w Symfonii odpowiedzi oczywiście nie ma, a ciekawość pozostała. Chodzi o błąd kompilacji:
#include
int main()
{
#define DZIESIEC 10;
const int TRZY = 3;
double s3 = DZIESIEC / TRZY;
return 0;
}
w linijce
double s3 = DZIESIEC / TRZY;
syntax error : missing ‘;’ before ‘/’
Myślałem, że dyrektywa #define działa jak edytor tekstowy i zamienia każde wystąpienie wyrazu na inne przed kompilacją. W tym wypadku kompilator wywala jednak błąd - dlaczego? Jak naprawdę działa ta dyrektywa define?