неразрешенные внешние проблемы в C ++ - PullRequest
0 голосов
/ 20 апреля 2020
#include <iostream>
using namespace std;

void PrintN(int i, int N)
{
    for (i = 1; i <= N; i++)
        printf("%d\n", i);
    return;
}

, когда я его скомпилировал, он работал хорошо, но выдал две ошибки в строке 1, когда я его собрал. Одним из них является «Ошибка LNK2019 неразрешенного внешнего символа _main, на который ссылается функция« int __cdecl invoke_main (void) »(? Invoke_main @@ YAHXZ)« Другой является «неразрешенные внешние элементы». Но после того, как я добавил «int main ()», он может хорошо работать, но не экспортировать целые числа от 1 до N на экране. Я думаю, что функция void может работать независимо даже без основной функции. Это действительно смутило меня.

1 Ответ

1 голос
/ 20 апреля 2020

Вам нужно определить main, без этого ОС не сможет выполнить ваше приложение. Кроме того, кто будет казнить PrintN?

#include <iostream>

void PrintN( int i, int n )
{
    for (; i < n; i++ )
        std::cout << i << '\n';
}

int main( )
{
    PrintN( 10, 20 ); 
}
...