Я новичок в C++, я учился около 4 недель, и теперь я начал пробовать программировать свои собственные вещи, например, вот эту вещь, над которой я работаю:
#include <iostream>
#include <cmath>
using namespace std;
class abcformule{
public:
int discriminant(double a, double b, double c){
return pow(b, 2) - 4 * a *c;
}
void answer(double a2, double b2, double c2){
cout << (-b2 + discriminant(a2, b2, c2)) / (2 * a2) + "and " + (-b2 - discriminant(a2, b2, c2)) / (2 * a2);
}
};
int main() {
abcformule abc;
abc.answer(5, -2, -7);
return 0;
}
Это еще не сделано, но, как вы могли догадаться, предполагается использовать формулу abc для решения x для квадратных формул. (Мне всего 14 лет, я не хочу делать домашнее задание, лол).
Итак, это дает мне эту ошибку:
12 58 D:\c++ dev-c\abc.cpp [Error] invalid operands of types 'double' and 'const char [5]' to binary 'operator+'
Что это значит и что мне делать, чтобы это исправить?
Проблема в том, что вы не можете использовать оператор «+», как в операторе печати. Вместо этого используйте оператор «<<». Попробуйте изменить оператор cout, чтобы он выглядел примерно так:
cout << (-b2 + discriminant(a2, b2, c2)) / (2 * a2) << " and " << (-b2 - discriminant(a2, b2, c2)) / (2 * a2) << "\n";
+ "and " +
в соответствии
cout << (-b2 + discriminant(a2, b2, c2)) / (2 * a2) + "and " + (-b2 - discriminant(a2, b2, c2)) / (2 * a2);
не работает, так как часть до + и часть после второго + являются двойными значениями, которые вы хотите добавить в строку. Распечатайте эти двойные значения напрямую с помощью cout, используя оператор «<<» вместо «+».
Я не знаю, действительно ли имеет смысл приводить двойники к строке, если вы можете просто распечатать инструкции по отдельности.
Вы правы, я действительно не знал, как это «записать», но оператор «<<» - лучший способ. Я отредактирую свой ответ
удачи! Я написал ту же задачу, что и моя первая программа, на моем калькуляторе в свое время. С практикой определенно станет легче!