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

main.cpp:

#include <iostream>
#include "hw.h"
using namespace std;

int main() {
    
    vector<double> out_from_function = three(14.7, 6.8);

    cout << out_from_function[0] << "\n" << out_from_function[1] << endl;
    
    return 0;
}

hw.h:

vector<double> three(double H, double L);

hw.cpp:

#include "hw.h"
#include <iostream>
#include <vector>
using namespace std;

vector<double> three(double H, double L) {
    double g = 9.8, pi = 3.1415;
    double alpha, V;

    alpha = atan(4 * H / L) * pi / 180;
    V = pow(g * L / sin(2 * alpha), 1 / 2);

    vector<double> out;
    out.push_back(V);
    out.push_back(alpha);

    return out;
}

Проблема в том, что мне при попытке запустить программу, выдаёт ошибку "Не удается перегрузить функции, различаемые только по типу возвращаемого значения", ссылаясь на функцию three в файлах "hw.h" и "hw.cpp". Я попытался изучить, что это означает, но всё, что я нашёл - это то, что данная ошибка может возникать, когда я попытаюсь ввести в оборот две функции, с одинаковыми именами, различающиеся лишь возвращаемым значением. Но у меня же здесь лишь одна функция, и поэтому я не совсем понимаю, что имеется в виду, когда мне выводится подобная ошибка.


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