2017-01-31 3 views
2

очень новый для кодирования и проблем с назначением в C++. Я продолжаю получать код ошибки lnk1561, который, по словам google, работает с битом int main(), но независимо от того, что я делаю, я не могу это понять. любая помощь будет оценена по достоинству.Код ошибки LNK1561, останавливающий мой код от запуска

#include<iostream> 
using namespace std; 

int main(); 

double pi(int n) { 
    double sum = 0.0; 
    int sign = 1; 
    for (int i = 0; i < n; ++i) { 
    sum += sign/(2.0*i + 1.0); 
    sign *= -1; 
    } 
    return 4.0*sum; 
} 
+1

Вам необходимо определить основную функцию. То, что вы сделали, - это объявление основной функции. –

+0

так как я могу это сделать? извините im действительно новичок в этом, google сказал мне, что когда я искал ошибку, но я не понимаю ее –

+0

, каждая программа имеет точку входа (основная), поэтому в вашем коде есть только прототип, таким образом, добавление определения. другой, почему вы прототип основного, если вы не хотите его называть? – Raindrop7

ответ

2

Каждая программа имеет точку входа (главный, WinMain, wmain ...) Таким образом, в вашем коде есть только прототип, таким образом, добавить определение. Другое дело, почему вы прототип main, если вы не хотите его называть?

int main(); // I think you don't need it here 
double pi(int n); 

int main() 
{ 
    cout << pi(7.2) << endl; // here you called `pi()` 

    return 0; 
} 

double pi(int n) 
{ 
    double sum = 0.0; 
    int sign = 1; 
    for (int i = 0; i < n; ++i) 
    { 
     sum += sign/(2.0*i + 1.0); 
     sign *= -1; 
    } 
    return 4.0*sum; 
} 
Смежные вопросы