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

C:\Projects\test\test.cpp|6|error: ISO C++ forbids declaration of 'operator++' with no type [-fpermissive]| - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать контейнер класса с методами включения и удаления строки, очистки текста, подсчета количества символов http://www.cyberforum.ru/cpp-beginners/thread1118839.html
Помогите создать контейнер класса который является абстракцией текста с методами включения и удаления строки из текста, очистки текста, подсчета количества символов и вывода текста на экран. Раньше никогда не работал с контейнерами и поэтому понятия не имею как все это сделать.
C++ Может ли объект-член, или объект-элемент достучаться к содержащему его? Предположим, class A { ... }; class B { .... A a; ... }; http://www.cyberforum.ru/cpp-beginners/thread1118829.html
Класс, каждый экземпляр которого имеет поле UID с гарантированно уникальным значением C++
Как бы это поле реализовать? При передаче экземпляра значению любой функции, или оператору и при записи в экземпляр возвращаемого значения функции, или оператора, в том числе, в составе другого объекта, в том числе, объекта-массива значение UID должно копироваться, в остальных случаях требуется генеринг нового уникального значения при каждом создании нового экземпляра. Требется гарантировать,...
C++ Реализовать АТД “Очередь” на основе усовершенствованного циклического массива
Прошу помочь с написанием решения для данной задачи: Создайте реализацию АТД “очередь” на основе усовершенствованного циклического массива, который автоматически увеличивает размер вдвое при переполнении, подобно вектору. Все остальные характеристики циклического массива должны быть сохранены. Продемонстрируйте работоспособность решения при помощи тестовой программы. Заранее благодарен.
C++ Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт http://www.cyberforum.ru/cpp-beginners/thread1118740.html
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть, например: 10101010 01010110 00001100 00011000 00011000 00000111 00011100 Нужно превратить в: 0101010
C++ Записать программу, выводящую изображенную фигуру Пользователь вводит некий символ. Записать программу, выводящую изображенную на рис. 2.10 фигуру, где вместо символа «*» должен быть символ, введенный пользователем. ***** ** * ** ***** подробнее

Показать сообщение отдельно
DrOffset
6787 / 3998 / 917
Регистрация: 30.01.2014
Сообщений: 6,818
14.03.2014, 17:28     C:\Projects\test\test.cpp|6|error: ISO C++ forbids declaration of 'operator++' with no type [-fpermissive]|
Цитата Сообщение от taras atavin Посмотреть сообщение
А превращать его в сокращение оператора плюс равно значит запутывать того, кто будет этот класс юзать.
Ну именно об этом я и написал. Про принцип наименьшего удивления.

Однако я хотел бы отметить, что догматичность в суждениях в этом вопросе тоже неуместна. Есть конкретная ситуация и мы должны, как профессионалы ее оценить. Если сложение на самом деле выполняет деление, это конечно плохо. Но если сложение выполняет операцию склеивания строк? Это сделано во многих классах строк и уже не кажется экзотикой, но если слишком догматично подойти к вопросу, то окажется что и этого нельзя было делать. Однако практика показывает, что это не так. Или более характерный пример, оператор сдвига << в iostream, который на самом деле ввод в поток... Тоже, ведь если слишком строго рассуждать, можно додуматься до того, что это плохо. Но ведь используют и уже почти все привыкли.
Ну а в том же boost::spirit, например оператор звездочка совсем не разыменование, унарные плюсы и минусы скорее похожи на подобные в регулярных выражениях, чем на обычные и т.п. Но это не плохо, потому что в рамках задачи - это оправдано, и если разобраться в этом есть логика, просто работают другие ассоциации.
 
Текущее время: 16:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru