Я пытаюсь создать класс для обработки несколько функций, которые будут анализировать ввод, и поэтому я должен был создать экземпляр в main()
так:Невозможно использовать экземпляр класса в C++
#include <iostream>
#include <string>
using namespace std;
class Triangle{
private:
double a, b, c, h;
public:
Triangle(double sideA, double sideB, double sideC): a(sideA), b(sideB), c(sideC){}
double get_perimeter()
{
return a + b + c;
}
double get_area()
{
return (b*h)/2;
}
bool exists(double a, double b, double c)
{
return a + b > c && a + c > b && b + c > a;
}
};
int main()
{
double a, b, c, h;
cin >> a >> b >> c >> h;
Triangle t(a, b, c, h);
if(!t.exists())
{
cout << "No such triangle!" << endl;
return 1;
}
cout << t.get_perimeter() << endl;
cout << t.get_area() << endl;
return 0;
}
Однако, Я получаю следующее сообщение об ошибке triangle.cpp|37|error: no matching function for call to 'Triangle::exists()'|
Более сложная проблема заключается в том, что вы вызываете конструктор с 4 аргументами, но он принимает только 3 ... –
Не следует ли это называть 'if (! T.exists (a, b, c))'? –
'triangle.cpp | 37 | ошибка: никакая соответствующая функция для вызова в 'Triangle :: exists (double &, double &, double &)' |' – dwvaxaz