ошибка: нельзя использовать как функцию

0

Я только начал изучать C++ и написал следующее:

#include <iostream>
using namespace std;

void sumtype (double sum) {
if (sum>0)
    cout<<"P"<<endl;
else if (sum==0)
    cout<<"0"<<endl;
else
    cout<<"N"<<endl;
}

double sum (double a, double b) {
return a+b;
}

int main() {
char sumtype;
double a;
double b;
cout<<"input value of a: ";
cin>>a;
cout<<"input value of b: ";
cin>>b;
cout<<"sum= "<<sum (a,b)<<endl;
sumtype (sum);

}

Однако он всегда говорит об ошибке: "sumtype" не может использоваться как функция sumtype (sum); ^

В чем проблема?

  • 1
    Вы скрыли имя функции sumtype , выполнив это: char sumtype; , делая sumtype ссылаться на char .
  • 0
    Кроме того, вы передаете функцию ( sum ) в sumtype .
Теги:

1 ответ

2

У вас есть одно и то же имя для переменной функции и переменной или имени функции, и она будет работать. (например, char sumtype1;)

  • 2
    Или еще лучше, просто удалите его, так как он, кажется, нигде не используется
  • 0
    И как это заставило бы это работать? Функция sumtype ожидает двойной, а не указатель на функцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню