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

Ошибка: не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Открыть exe на другой машине, без использования специальных библиотек http://www.cyberforum.ru/cpp-beginners/thread1221151.html
Скажите пожалуйста, какие свойства проекта надо изменить в Visual Studio, чтобы exeшник открывался на другой машине, без использования специальных библиотек и тд.
C++ Вычисление функции составить структурную схему алгоритма и проект программы вычисления функции, один параметр ввести с клавиатуры, а другой задать как константу, все вычисляемые значения вывести на экран. http://www.cyberforum.ru/cpp-beginners/thread1221136.html
Не получается перегрузить << C++
Добрый день. Никак не получается вывести разность a-b. Однако компилятор не ругается, если выводить только один объект. Хедер с объявлением класса class timeClass { public: timeClass(int h = 0, int m = 0) { min = 60*h+m;
Переведите пожалуйста с Паскаля на СИ++. Сумма ряда C++
uses crt; var s,si,x:real; i,n:integer; function fact(x:integer):longint; begin if (x=1) or (x=0) then fact:=1 else fact:=fact(x-1)*x; end; begin write('x = ');readln(x); repeat
C++ При закрытии консоли выдаётся сообщение http://www.cyberforum.ru/cpp-beginners/thread1221101.html
process exited after (сколько то секунд) seconds with return value 0 для продолжения нажмите любую клавишу - выдаёт при return(0\1) и при exit(0\1). как убрать? где то легко вкл и выкл, но где? пишу в devcpp 5.6.3
C++ Операторы цикла с предусловием и с постусловием: Выводить на экран суммарное штрафное время Задание: составить программу согласно заданию. Составьте программу, суммирующую штрафное время команд при игре в хоккей. Выводить на экран суммарное штрафное время обеих команд после любого его изменения. После окончания игры выдать итоговое сообщение. подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.07.2014, 18:32     Ошибка: не определяет этот оператор или преобразование к типу приемлемо к встроенному оператору
Могу предложить такое решение:
Кликните здесь для просмотра всего текста
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
47
48
49
#include <iostream>
 
class PrefixCounter
{
public:
    PrefixCounter(int cnt=0) : cnt_(cnt) {}
    virtual ~PrefixCounter() {}
    int getCounter() const { return cnt_; }
    PrefixCounter& operator--() { --cnt_; return *this; }
    PrefixCounter& operator++() { ++cnt_; return *this; }
protected:
    void setCounter(int cnt) { cnt_=cnt; }
private:    
    int cnt_;
};
 
class AnyCounter : public PrefixCounter
{
public:
    using PrefixCounter::operator--;
    using PrefixCounter::operator++;
    AnyCounter(int cnt=0) : PrefixCounter(cnt) {}
    AnyCounter operator--(int) { 
        AnyCounter ac(getCounter());
        --(*this);
        return ac;
    }
    AnyCounter operator++(int) {
        AnyCounter ac(getCounter());
        ++(*this);
        return ac;
    }
};
 
int main() {
 
    AnyCounter ac;
    
    ++ac;
    ac++;
    
    std::cout << ac.getCounter() << std::endl;
 
    --ac;
    ac--;
    
    std::cout << ac.getCounter() << std::endl;  
    return 0;
}
 
Текущее время: 09:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru