Aktualnie studiuję na końcowym egzaminie z kursu CS i natknąłem się na mniejszy (być może poważny?) Problem dotyczący składni C++ #ifndef.#następująca składnia dla włączających strażników w C++
Szukałem w składni #infndef podczas używania go jako #include straży, a najbardziej w sieci wydaje się mówić:
#ifndef HEADER_H
#define "header.h"
...
#endif
Ale slajdy TUTORIAL moja klasa pokazują przykłady jak:
#ifndef __HEADER_H__
#define "header.h"
...
#endif
Zastanawiam się, co (jeśli w ogóle) różnica między nimi. Egzamin najprawdopodobniej poprosi mnie o napisanie # strażnika, a ja wiem, że konwencjonalna mądrość polega właśnie na tym, co mówi prof/tutor, ale jeśli podczas kompilacji jest różnica, chciałbym to wiedzieć.
Zobacz [tutaj] (http://stackoverflow.com/questions/228783), aby zapoznać się z zasadami, które łamie twój opiekun, i [tutaj] (http://stackoverflow.com/questions/3345159) dla przykład, co może pójść źle, jeśli je złamiesz. Uwzględnij także strażników * wewnątrz * nagłówka. –
Tak się składa, że kod źródłowy nie ma sensu: nie można "# define" literału literowego. Czy chodziło Ci o '#include 'header.h" '(oryginalne sformułowanie) lub' #define HEADER_H' (co zwykle znajduje się w nagłówku preambuły)? – Attila