По этому вопросу я пытался найти что-то в документации gcc о том, что происходит, когда я вызываю main в C++. Я ничего не нашел, но обнаружил, что в C его просто прекрасно назвать main. Обратите внимание, что
#include <iostream>
int main() {
    int x; 
    std::cin >> x;
    if (x) main();
}
 недопустимо в C++, хотя оно компилируется, если не используется флаг -pedantic. Тем не менее, называя main допускается в С.
 Чем отличается C++ от запрета вызова main?
