Привет, вопрос элементарный, но что-то сообразить совсем не получается. Было примерно так (работало):
class Q {
friend int main();
Q() = default;
};
int main() {
Q q;
}
Потом было добавлено namespace:
namespace NS {
class Q {
friend int main();
Q() = default;
};
} //NS
И теперь никак не удается назначить друга для Q из file scope. friend int main() не срабатывает (согласен), но также не помогает friend int ::main(), хотя на цппреференс есть пример:
friend class ::F; // friends the global F
Как правильно? Делать декларацию main в NS - не хочу. Компилятор выдает:
error: 'int main()' should have been declared inside '::'
36 | friend int ::main();