Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 26
1

Ошибка: Не найден оператор, принимающий правый операнд типа 'overloaded-function'

24.10.2018, 19:24. Показов 3399. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, такая проблема при выполнении лабораторной работы (не знаю кому это интересно, но все же), так вот, суть проблемы в чем:
Нужно написать программу вычисления полной площади поверхности и объема правильной пирамиды, мой код таков (занимаюсь с++ три-четыре дня):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <conio.h>
using namespace std;
using namespace System;
 
int main(array<System::String ^> ^args)
{
    int P;
    double S, a, h, V;
    cout << "Enter the height, perimeter and side of cube " << "\n";
    cin >> P >> h >> a >> endl;
    S = 1/2*P*h;
    V = 1/3*pow(a,2)*h;
    cout << "Side surface area is " << S << "\n";
    cout << "volume is " << V << "\n";
    cin.get();
    return 0;
}
Но мне выдает ошибку, которая звучит так (далее - копипаст):
error C2679: бинарный '>>': не найден оператор, принимающий правый операнд типа 'overloaded-function' (или приемлемое преобразование отсутствует)

Не понимаю, как исправить. Помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2018, 19:24
Ответы с готовыми решениями:

Ошибка в коде. не найден оператор, принимающий правый операнд типа 'int'
Доброго времени суток. Не понимат что за ошибка: error C2679: бинарный '&gt;': не найден оператор,...

Ошибка C2679: бинарный '=': не найден оператор, принимающий правый операнд типа 'double'
// ConsoleApplication2.cpp : Defines the entry point for the console application. // #include...

Конструкторы, приведение типа и ошибка "Не найден оператор, принимающий правый операнд типа 'char *'"
#include &lt;stdio.h&gt; class A { int somemember; public: A(){printf(&quot;A()\n&quot;);} ...

Ошибка : бинарный "<<": не найден оператор, принимающий правый операнд типа point
В задаче нужно найти две наиболее удаленные друг от друга очки. выдает следующую ошибку: error...

5
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,715
24.10.2018, 19:37 2
Цитата Сообщение от rreskey Посмотреть сообщение
cin >> P >> h >> a >> endl;
В endl данные ввести ну никак нельзя - это константа.
Цитата Сообщение от rreskey Посмотреть сообщение
S = 1/2*P*h;
s Всегда равно нулю т.к. 1/2 равно 0(и 1 в остатке).
Цитата Сообщение от rreskey Посмотреть сообщение
V = 1/3*pow(a,2)*h;
То же самое 1/3 равно нрулю
1
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 26
24.10.2018, 19:40  [ТС] 3
Цитата Сообщение от zss Посмотреть сообщение
В endl данные ввести ну никак нельзя - это константа.
Я где-то видел что /n это и есть endl, вот и пишу так
Цитата Сообщение от zss Посмотреть сообщение
s Всегда равно нулю т.к. 1/2 равно 0(и 1 в остатке).
Цитата Сообщение от zss Посмотреть сообщение
То же самое 1/3 равно нрулю
Тогда как записать эти формулы? Ну если 1/2 = 0.5, то как быть с 1/3 ?
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,715
24.10.2018, 20:54 4
Лучший ответ Сообщение было отмечено rreskey как решение

Решение

Цитата Сообщение от rreskey Посмотреть сообщение
вот и пишу так
Пишите при ВЫВОДЕ но никак не при вводе!

1/2 это деление нацело! (0 целых и 1 в остатке)
1.0/2.0 = 0.5
1/3 это тоже деление нацело! (0 и 1 в остатке)
1./3. =0.333333333333
1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
24.10.2018, 21:09 5
Лучший ответ Сообщение было отмечено rreskey как решение

Решение

Цитата Сообщение от zss Посмотреть сообщение
В endl данные ввести ну никак нельзя - это константа.
endl - это не константа, а шаблон функции.
C++
1
2
3
//namespace std
template <class charT, class traits>
basic_ostream<charT, traits>& endl(basic_ostream<charT, traits>& os);
2
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 26
25.10.2018, 16:26  [ТС] 6
Спасибо, теперь все работает.
0
25.10.2018, 16:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2018, 16:26
Помогаю со студенческими работами здесь

Ошибка "не найден оператор, принимающий правый операнд типа "const std::string" "
Привет. Подчеркивает Name. Как можно обратиться к public string из класса наследника? 1) Класс...

Шаблоны класса:Матрица. Ошибка бинарный "=": не найден оператор, принимающий правый операнд типа "Matr<T>"
Выдает ошибку &quot;бинарный &quot;=&quot;: не найден оператор, принимающий правый операнд типа &quot;Matr&lt;T&gt;&quot; (или...

Бинарный "=": не найден оператор, принимающий правый операнд типа
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iterator&gt; #include &lt;string&gt;...

Классы: не найден оператор, принимающий правый операнд типа "Book"
Хотел (задали) создать телефонную книгу с помощью класса.Вот что я накидал.И компилятор выводит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru