2013-09-29 4 views
2

Я новичок во всем программировании на C++, и я знаю, что это простое решение, но я просто не могу понять это! я просто просто хочу вызвать функцию, которая печатает 1 + 4. Вот код:Вызов функции в C++

#include <iostream> 
using namespace std; 

int func() 
{ 
    cout << 1 + 4; 
    return 0; 
} 

int main() 
{ 
    int func(); 
} 

Он ничего не показывает в окне консоли, только что приложение остановлено с кодом возврата 0. Может кто-нибудь сказать мне, что не так?

+0

Каковы симптомы? –

+1

удаляет 'int' при вызове функции, теперь он пытается объявить новую функцию вместо ее вызова. – Broxzier

ответ

6

Вы не вызывая func() функции правильно:

int main() 
{ 
    // int func(); This line tries to declare a function which return int type. 
    //    it doesn't call func() 
    func(); // this line calls func() function, it will ouput 5 
    return 0; 
} 
+0

Прямо вперёд! Благодаря! – Christoffer

+1

Или даже 'return func();' – juanchopanza

+1

Да, если 'func()' не 'void' – billz

1

вы можете просто вызвать функцию по имени. Как func();

int func() 
{ 
    cout << 1 + 4; 
    return 0; 
} 

вышеуказанная функция возвращает целое число. вы возвращаете 0., чтобы сделать его более полезным вернуть сумму и уловить ее в основной функции.

int func(){ 
    return 1+4;// return 5 to main function. 
} 

сейчас в основном.

int main(){ 
    int ans = func();// ans will catch the result which is return by the func(); 
    cout<<ans; 
    return 0; 
} 

попытайтесь понять работу каждого заявления.

+0

Спасибо, теперь, если я делаю это в инструкции If, компилятор говорит« ожидаемое первичное выражение перед «int». – Christoffer

+0

@Christoffer не «продлевает» вопросы с помощью комментариев к ответам, если вам не удается получить вашу работу, лучше создать новый вопрос. – fvu

+0

делитесь кодом. что вы на самом деле делаете? –