С++ программа при компиляции выдаёт ошибки LNK2019 и LNK1120

Я только начал изучать С++ и чуть ли не в каждом коде сталкиваюсь с этими ошибками. Вообще не могу понять, в чём дело.

Сам код:

#include <iostream>
using namespace std;
void prog2() {
    int min, max, s = 0;
    cout << "Введите диапозон чисел" << endl;
    cin >> min;
    cin >> max;
    for (; min <= max; min++) {
        if (min % 2 == 1) {
            s += min;
        }
    }
    cout << s;
}

Ошибки:

Серьезность   Код Описание    Проект  Файл    Строка  Состояние подавления
Ошибка    LNK2019 ссылка на неразрешенный внешний символ main в функции "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ).    Project1    D:\C++\Project1\Project1\MSVCRTD.lib(exe_main.obj)  1   
Серьезность   Код Описание    Проект  Файл    Строка  Состояние подавления
Ошибка    LNK1120 неразрешенных внешних элементов: 1  Project1    D:\C++\Project1\x64\Debug\Project1.exe  1   

Ответы (1 шт):

Автор решения: Anton Menshov

C++ программа (executable) в стандартном случае должна иметь точку входа: то бишь, что нужно делать по ее запуску. По умолчанию, это будет функция main(), которой у вас нету.

Если переписать ваш код, просто поместив суть в main():

#include <iostream>
using namespace std;

int main() {
    int min, max, s = 0;
    cout << "Введите диапозон чисел" << endl;
    cin >> min;
    cin >> max;
    for (; min <= max; min++) {
        if (min % 2 == 1) {
            s += min;
        }
    }
    cout << s;

    return 0;
}

или добавив main() уже вызывающую вашу функцию prog2()

#include <iostream>
using namespace std;

void prog2() {
    int min, max, s = 0;
    cout << "Введите диапозон чисел" << endl;
    cin >> min;
    cin >> max;
    for (; min <= max; min++) {
        if (min % 2 == 1) {
            s += min;
        }
    }
    cout << s;
}

int main() {
    
    prog2();

    return 0;
}

то вышеописанные проблемы должны исчезнуть. Собственно, первая ошибка:

LNK2019 ссылка на неразрешенный внешний символ main

вам и пытается на это намекнуть. Просто не очень доходчиво.

→ Ссылка