Код: Выделить всё
if __name__ == '__main__':
main()
Код: Выделить всё
#if equals(__FILE__, __MAIN__)
int main()
{
/* code */
return 0;
}
#endif
Однако всякий раз, когда я попытаюсь создать такую функцию (или скопировать код отсюда или отсюда), получаю следующую ошибку:
ошибка: функциональный макрос 'равно' не определено
Что мне кажется странным, поскольку это не макрос и не неопределенное значение. Я также не смог найти решение при поиске сообщения об ошибке.
Вот полный код для справки:
Код: Выделить всё
#include
constexpr bool equals(const char* a, const char* b)
{
return *a == *b && (*a == '\0' || equals(a + 1, b + 1));
}
#if equals(__FILE__, __MAIN__)
int main()
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/50086636/emulating-if-name-main-in-c-causes-error-function-like-macro-is-no[/url]
Мобильная версия