Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Ошибка постфиксной операции dev C++
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Steward Steward вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.06.2018
По умолчанию Ошибка постфиксной операции dev C++ - 05.08.2018, 11:58

При попытке провести унарную постфиксную операцию увеличения с переменной пользовательского типа данных выводит ошибку:
[Error] no 'operator++(int)' declared for postfix '++' [-fpermissive]
cpp Код:
#include <iostream>
using namespace std;
class Num //объявляю класс "Num"
{
    private:
        int num;
    public:
        Num() : num(0) // конструктор, инициализирующий переменную "num" со значением 0
        {}
        Num(int n) : num(n) // конструктор, принимающий параметр num++ и инициализирующий его
        {}
        int getNum()
        {
            return num;
        }
        Num operator++()
        {
            return Num(num++); // компилятор говорит, что я не описал постфиксную операцию увеличения, хотя написано num++  
        }
};
int main()
{
    Num n1;
    Num n2;
    cout << n1.getNum(); // по идее выводится ноль
    n2=n1++; // собственно операция
    cout << endl;
    cout << n2.getNum(); // по идее выводится единица
    return 0;
}
Что нужно сделать для решения этой проблемы?
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,266
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 05.08.2018, 13:28

Вы определили префиксный инкремент. Постфиксный требует дополнительного параметра (int)
https://msdn.microsoft.com/ru-ru/library/f6s9k9ta.aspx
Ответить с цитированием
Пользователь сказал cпасибо:
Steward (06.08.2018)
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычисление выражений представленных в постфиксной форме. versus.idg Задания за деньги 2 02.07.2013 21:17
Операции над множествами. homyak Задания за деньги 4 01.04.2013 15:24
Ошибка С0000034 при операции обновления Windows 7 SP1 Denys Любые вопросы от новичков 17 07.09.2011 09:57
Записать алгебраическое выражение в постфиксной форме andreew Haskell 3 26.05.2011 12:15
Сообщение VS.NET 2003 ошибка Не хватает памяти для завершения операции bellyatriks .NET 1 15.09.2010 11:13
Операции над множествами Anonymous Prolog 40 13.07.2010 22:07
После установки привода выдается ошибка от отмене операции. tema46066 Любые вопросы от новичков 5 18.02.2010 15:11
Вычисления ариф. выражений над числами в ПОСТФИКСНОЙ форме velviamo Prolog 5 27.05.2008 18:17
Операции на дереве. dfcz Prolog 2 11.06.2007 23:06
Определение операции Storme Prolog 1 20.11.2006 12:23
Ошибка Недостаточно памяти для завершения операции alexey_potapov Delphi 1 17.11.2006 18:53
Трансцендентные операции FPU AntStr Assembler 3 16.03.2005 11:15



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов