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

Значение якобы возвращённое функцией при опущенном return - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разница в использовании конструкторов http://www.cyberforum.ru/cpp-beginners/thread1131338.html
Привет всем) У меня вопрос. Относительно недавно начал изучать ООП на С++ и для меня непонятна разница между такими конструкторами: №1 Point::Point(int _x, int _y) : x(_x), y(_y) {} №2 Point::Point(int _x, int _y) { x = _x;
C++ Медленная реакция программы на нажатие клавиши в игре Здравствуйте! В общем пишу небольшую игру где надо перемещаться по горизонтали главным героем. Игра предполагает быстрое перемещение туда-сюда этим главным героем и есть проблема. Если начать идти вправо и резко изменить направление движения влево, то будет задержка (довольно таки долгая). Использую kbhit() и getch(), выкладываю упрощенный код, подскажите пожалуйста что делать. На всякий случай... http://www.cyberforum.ru/cpp-beginners/thread1131329.html
C++ Как преобразовать LPCWSTR в char*?
Здравствуйте! Как преобразовать LPCWSTR в char*?
C++ При переворачивании массивов выходят такие цифры: "-858993469". Как с этим бороться?
постоянно сталкиваюсь с такой проблемой: при переворачивании массивов выходят такие цифры: вот код: #include <stdio.h> #include <conio.h> #include <iostream> #include <iomanip> using namespace std; int main(void)
C++ Найти объем пирамиды, построенной на векторах как на сторонах http://www.cyberforum.ru/cpp-beginners/thread1131306.html
Трехмерные векторы заданы своими координатами, например, А = (ха, уа, za). Найти объем пирамиды, построенной на векторах А, В, С, как на сторонах.
C++ Для каждого позитивного элемента определить, есть ли в массиве отрицательный элемент с противоположным значениям Все детали задачи на фото Задачи перепечатываем в тему! подробнее

Показать сообщение отдельно
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
27.03.2014, 16:20     Значение якобы возвращённое функцией при опущенном return
Что считается значением, возвращённым функцией, в которой опущен оператор `return`?
Зачем компилятор позволяет не указывать `return` в не-void функциях?

Допустим, есть такой метод класса:
C++
1
2
3
4
5
6
7
8
9
10
11
...
int Arr::getElement(unsigned i){
   if (i >= _noe) {  //_noe - кол-во элементов массива
      printf("\t ERROR: Trying to access NONexistent element (current noe=%u). \n", _noe);
      //тут мог бы быть `return`, но вернуть мне нечего (были бы элементы массива ..
      //.. беззнаковыми, вернул бы "-1"). Т.к. не знаю, что вернуть, вообще не указал `return`.
   }
   else
      return _data[i];
}
...
Если в массиве `arr1` например всего 10 элементов, то вот эта строка в `main()` выводит значение "65". Откуда берётся это значение?
C++
1
std::cout << arr1.getElement(100);
Напомню, второй вопрос, почему такое оформление кода (без `return` в не-void функциях) допускает компилятор?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru