main() - это входящая функция. И все же это именно функция, со всеми вытекающими свойствами.
Ее можно обьявить как void, а значит она не должна что либо возвращать и return писать не надо.
Все же многие не понимают по началу, что return, это не только остановка программы, но еще и вывод результата работы функций.
Пример:
//создаем свою собственную функцию, которая что-то делает и что-то возвращает.
int myrandom() {
int a;
a = rand()%100; //генерация случайного числа
return a; // возвращаем результат генерации
}
//а вот наша программка, в которой мы вызовем эту функцию.
void main() {
int s = myrandom(); // функция myrandom возвращает результат в переменную s.
cout << s;
}