Глупый, но интересный вопрос

Просматривая уроки на code-live, наткнулся в лекции № 2 на непонятную мне штуку:

в уроке № 1 пишем программу, в тексте которой есть строка int main(), которая зовется вызовом функции.

в уроке № 2 освещаются различные типы данных и по тексту лекции отметил следующее: int a; // объявление переменной a целого типа.

Донесите до моего ума ответ на следующий вопрос: Почему вызов функции выглядит так же как объявление переменной целочисленного типа?

Не вызов функции, а ее объявление. При вызове функции, не указывается тип данных для возвращаемого значения.

Почему вызов функции выглядит так же как объявление переменной целочисленного типа?

Во-первых, не вызов, а объявление. А во вторых, при объявлении функции, после ее названия ставят круглые скобки со списком принимаемых параметров. Если параметров нет, то в круглых скобках пусто.

При объявлении переменной, никаких скобок не ставится.

Привет)столкнулся с такой проблемой,писал программу с использиванием библиотеки CONIO.H.Выбило ошибку и кинуло в библиотеку...я случайно нажал DEL и что то убралось далее дает ошибку во всех программах...даже у работающих раньше...спасибо)

я какт тоже по началу с такого рода в VS 2010 проблемами сталкивался и какт особо не заморачивался над этой продлемой,ды создайте вы по новой проект секундное дело ,былоб о чём говорить и строчите код в своё удовольствие

selevit если в место int main() написать double main() есть ли какайт разница в этой коррекции?

Андрей, функция main() должна возвращать целое число. Код возврата дает понять ОС о том, успешно программа завершилась, или нет.

Код успешного завершения программы — нуль. По этой причине в конце функции main() мы пишем return 0.

В случае критической ошибки, обычно возвращают двойку. Если произошла не критическая ошибка — единицу.

Большинство компиляторов автоматом добавляют return 0 в конец main(), если код возврата не указан явным образом.

Kyle, вы изменили код одного из файлов стандартной библиотеки. Поэтому и не работает. Если ни одна программа не компилируется, попробуйте найти оригинальный файл conio.h и заменить им испорченную версию.

Если что-то не получится, удалите IDE и установите заново. :-)

Благодарю)еще вопрос,не могли бы, вы дать сайт уставновки OpenGl?и куда их размещать?Одни говорят в system32...другие в .lib...даже не знаю...спасибо за ответы)

Почему объявление функции выглядит так же как объявление переменной целочисленного типа?
Потому, что функция возвращает значение, т.е. проработав, выдаёт численный результат. Main() выдаёт системе код ошибочного или удачного завершения программы. Он имеет тип int. Это такой же тип int, как и у переменных типа int.
Функция sin(x) выдаёт значение синуса аргумента и т.д. Возвращать значение — обычное дело для функции.
Тип значения нужен, чтобы знать, как обрабатывать числа и не допускать ошибок. Например, переменную с типом дата нельзя возводить в степень. Компилятор не даст этого сделать, сообщит об ошибке.
У переменных, констант и функций одни и те же типы. Хотя бы потому, что переменные могут присваивать себе значения, полученные из функций. Были бы это были разные типы, нельзя было бы связать переменные, константы и ф-и.

Можно писать на С++ игры? 2D, 3D?

Programmer Tom, да. Но тут уже желательно юзать движок.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.