Нет, это не так. Не в вашей простой программе.
[basic.def.odr]
3 Функция, имя которой отображается как потенциально оцененная
выражение используется odr, если это уникальный результат поиска или
выбранный член набора перегруженных функций ([basic.lookup],
[over.match], [over.over]), если это не чисто виртуальная функция и
либо его имя явно не определено, либо выражение образует
указатель на член ([expr.unary.op]).
main
не появляется в потенциально вычисленном выражении, поэтому оно не используется в odr. Кроме того, мы должны учитывать следующее:
[basic.start.main]
3 Функция main не должна использоваться в программе.
Является ли это простым вызовом main или любым другим способом, может быть спорным, но оно, безусловно, ограничивает ваши возможности odr-use main
в любой программе.
При анализе odr-использования стоит иметь в виду, что программа использует odr-объекты (или не использует их). Внешние силы (такие как реализация, использующая main
в качестве точки входа) не подлежат обсуждению.