По какой-то причине я попытался определить основную функцию как функцию шаблона, используя clang 2.9:
template <typename T = void>
int main(int argc, char **argv)
{
}
и получил следующую ошибку.
error: 'main' cannot be a template
int main(int argc, char **argv)
^
Кто-нибудь знает, какой раздел стандарта запрещает это и каков соответствующий текст?