Форум программистов, компьютерный форум CyberForum.ru

Ошибка компиляции: нет перегруженной бинарной операции +. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция strtok() не воспринимает пробел как разделитель http://www.cyberforum.ru/cpp-beginners/thread1242287.html
Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, "пробел" между словами не воспринимает как разделить в отличие от ",.-". Как сделать чтобы при вводе с клавиатуры функция делила строку на лексемы? //пример использования функции strtok #include <iostream> #include <cstring> int main () { int gl=0, sg=0,i,j; char gls="аеиоуюэя";
C++ Можно ли объявлять объекты в заголовочном файле? Решил написать змейку с использование OpenGL. Сначала написал все в одном файле, все работало, решил сделать по красивее и распихать по хедерам. Сразу вопрос: Можно ли объявлять объекты в заголовочном файле? Из-за этого похоже у меня и ошибки: 1>Food.obj : error LNK2005: "class Block * blocks" (?blocks@@3PAVBlock@@A) already defined in Block.obj 1>Food.obj : error LNK2005: "class Food food"... http://www.cyberforum.ru/cpp-beginners/thread1242283.html
Несколько логически ИЛИ в условии if C++
Здравствуйте! Вот такой, вроде бы несложный вопрос: Есть функция, в которую передается массив символов, далее она проверяет устраивает ли первый символ заданному критерию, если нет то возвращает нолик, если да единичку. Критерий таков: первый символ должен быть одним из этих -- A, B, C, E, H, K, M, O, P, T, X, Y. Передаю такой массив: A000AA Буква которые записаны в условии и массиве все в...
Реверс двусвязного списка C++
Столкнулся с задачей написать функцию реверса двусвязного списка. Часа 3 сушил себе мозг с копиями указателей, получилось что надо хранить копию данных и копию адреса 1 узла да еще и копировать все в ручную поэлементно. Выглядит очень громоздко... Так вот сам вопрос то, зачем вообще может понадобиться такая функция если список можно обойти в обоих направлениях ( задача из книги "Язык...
C++ Калькулятор Z-1. Укажите на ошибку в программе к задаче http://www.cyberforum.ru/cpp-beginners/thread1242229.html
Уважаемые форумчане, укажите пожалуйста на ошибку в программе. Пишу программу к задаче, валится на 10 тесте (Wrong Answer). Подскажите, пожалуйста, что не так. Условие задачи: Имя входного файла: calcz.in Имя выходного файла: calcz.out Ограничение по времени: 2 секунды Ограничение по памяти: 64 мегабайта Компания Z готовится к выпуску своего супер пупер мега калькулятора Z-1. Ме-
C++ Проверить можно ли ходом короля из одной клетки попасть в другую Делать было нечего решил все простые задачи перерешать с сайта. Ближе к делу: Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный король попасть с первой клетки на вторую за один ход. Формат входных данных: Даны 4 целых числа от 1 до 8 каждое, первые два задают... подробнее

Показать сообщение отдельно
Veber88
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 11
14.08.2014, 00:54     Ошибка компиляции: нет перегруженной бинарной операции +.
Подскажите в чем ошибка. Компилятор говорит что нет перегруженной бинарной операции + для такого типа (41 строка)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
#include <cmath>
using namespace std;
 
class PolarSys{
private:
    float radius;
    float angle;
public:
    PolarSys():radius(0), angle(0)
    {};
 
    PolarSys(float rad, float ang): radius(rad), angle(ang)
    {};
 
    PolarSys operator + (PolarSys) const;
 
    float GetAngle() const {
        return angle;
    };
 
    float GetRadius() const {
        return radius;
    };
 
};
 
PolarSys PolarSys::operator + (PolarSys p) const {
    float x, y, rad;
    float ang;
    x=radius*cos(ang)+p.GetRadius()*cos(p.GetAngle());
    y=radius*sin(ang)+p.GetRadius()*sin(p.GetAngle());
    ang=atan(y/x);
    rad=sqrt(pow(x,2)+pow(y,2));
    return PolarSys(rad, ang);
};
 
int main()
{
    PolarSys p1(10,20), p2(), p3();
    p3=p1+p2;
    cout<<p1.GetRadius()<<endl;
    cout<<p1.GetAngle()<<endl;
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru