Прототипирование перегруженных функций

Коллеги, добрый день, подскажите пожалуйста, как должно выглядить прототипирование перегруженных функций в C++? Компилятор ругается, что я неправильно указываю прототип функций, поправьте пожалуйста, как это должно выглядеть корректно?

#include <iostream>

int Sum();
double Sum();


int main()
{
    std::cout << Sum(5.5, 5) << std::endl;
}

int Sum(int a, int b)
{
    return a + b;
}

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

double Sum(int a, double b)
{
    return a + b;
}

double Sum(double a, int b)
{
    return a + b;
}

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

Автор решения: Harry
#include <iostream>

double Sum(double a, int b);
double Sum(int a, double b);
double Sum(double a, double b);
int Sum(int a, int b);

int main()
{
    std::cout << Sum(5.5, 5) << std::endl;
}
→ Ссылка