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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Andrey040601
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 127
Завершенные тесты: 5
#1

Компилятор не дает написать main без int. Ошибка в книге, или в С так можно? - C++

25.08.2014, 17:57. Просмотров 946. Ответов 21
Метки нет (Все метки)

В книге И.Ш. Хабибуллина "Программирование на языке высокого уровня C/C++" во всех примерах пишут так:
C++
1
2
3
4
main()
{
 
}
Компилятор не дает написать main без int. Ошибка в книге, или в С так можно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2014, 17:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Компилятор не дает написать main без int. Ошибка в книге, или в С так можно? (C++):

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

int main() или int main(void)? - C++
чем отличается : не сообщаю о наличии аргументов функция не принимает никаких аргументов.......

Компилятор сообщает об отсутствии точки с запятой в строке int main() { - C++
int main() {; Я поставил точку с запятой но проблемма осталась почему ?

В чем разница между int main(){} и int main(void){}? - C++
Только недавно начал изучать язык, и появилось несколько вопросов: 1) в чем разница между int main(){} и int main(void){}? 2) в чем...

Компилятор выдает ошибку " in function int main ()" - C++
#include <cstdlib> #include <iostream> using namespace std; int main() { int a,b,v,z,n,i,mas; cout>>"vvedite...

Ошибка в программе, адресная арифметика(Компилятор выдает ошибку "Cannot conver int* to int") - C++
#include <stdio.h> #include <time.h> #include <stdlib.h> #include <alloc.h> int size=(int*)malloc(50*sizeof (int)) { for...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
КОП
361 / 280 / 86
Регистрация: 15.08.2010
Сообщений: 762
25.08.2014, 18:00 #2
Ошибка 1 error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию.
может его компилятор поддерживает int по умолчанию?
gru74ik
Модератор
Эксперт CЭксперт С++
4153 / 1779 / 197
Регистрация: 20.02.2013
Сообщений: 4,901
Записей в блоге: 21
25.08.2014, 18:25 #3
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Компилятор не дает написать main без int.
Вроде как в старых компиляторах, когда ещё Си без плюсов, можно было. Мог напутать, но вроде так.
DrOffset
7091 / 4232 / 950
Регистрация: 30.01.2014
Сообщений: 7,007
25.08.2014, 18:37 #4
Andrey040601, это неявный int. В С поддерживается, В С++ - нет.

Цитата Сообщение от gru74ik Посмотреть сообщение
Вроде как в старых компиляторах
Это и в новых компиляторах. Просто в С, а не С++.
Senarist
39 / 39 / 12
Регистрация: 14.03.2014
Сообщений: 589
25.08.2014, 18:40 #5
Andrey040601 цитата из книги С. Праты
"Во многих существующих программах используется классическая форма записи заголовка функции в стиле С:
main()
В классическом С опускание возвращаемого типа равнозначно тому, что функция имеет тип int. Однако в языке С++ от такого подхода отказались."
ion
Заблокирован
25.08.2014, 21:13 #6
Код действительно на сях.
В Visual Studio создайте пустой проект, и создайте файл исходного кода с расширением .c а не .cpp
Тогда это приложение будет компилироваться в режиме си и такие коды в нем будут работать.
Andrey040601
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 127
Завершенные тесты: 5
25.08.2014, 21:25  [ТС] #7
Дело в том, что первая часть книги по C. Там пишут main(), однако вторая часть по C++ и там тоже пишут main()
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
25.08.2014, 21:29 #8
Цитата Сообщение от Andrey040601 Посмотреть сообщение
Дело в том, что первая часть книги по C. Там пишут main(), однако вторая часть по C++ и там тоже пишут main()
книга какого года?
в общем это не правильно
и в Си это оставили чтобы не переписывать старые программы.
короче так писать не стоит, даже в Си
Andrey040601
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 127
Завершенные тесты: 5
25.08.2014, 21:30  [ТС] #9
Цитата Сообщение от ValeryS Посмотреть сообщение
книга какого года?
2006-ого года
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
25.08.2014, 21:32 #10
Цитата Сообщение от Andrey040601 Посмотреть сообщение
2006-ого года
и ни чего более?
типа "издание второе стереотипное"
странно
тогда как говорил профессор Преображенский "В печку её"
Andrey040601
4 / 4 / 3
Регистрация: 13.07.2014
Сообщений: 127
Завершенные тесты: 5
26.08.2014, 09:28  [ТС] #11
Цитата Сообщение от ValeryS Посмотреть сообщение
тогда как говорил профессор Преображенский "В печку её"
И деньги в печку
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
26.08.2014, 09:56 #12
Мнение Страуструпа по теме: http://www.stroustrup.com/bs_faq2.html#void-main
gru74ik
26.08.2014, 09:58
  #13

Не по теме:

Tulosba, посмотрел на твой статус под ником и в голове стала вертеться фраза "чеширский код"

Tulosba
26.08.2014, 10:01
  #14

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
"чеширский код"
это про смайлик что ли?

gru74ik
26.08.2014, 10:02     Компилятор не дает написать main без int. Ошибка в книге, или в С так можно?
  #15

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
это про смайлик что ли?
ага

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2014, 10:02
Привет! Вот еще темы с ответами:

Написать int main() для программы - C++
Здравствуйте, есть код класса дерева и массива для кнопок. помогите написать правильно главную функцию. Компилятор жалуется. #include...

Ошибка компиляции. int main() - C++
При компиляции выдает ошибку, пишет что не поддерживает int по умолчанию. #include <stdio.h> #include <conio.h> int a = { 0, 0,...

Ошибка main' must return 'int' - C++
Line 6: error: '::main' must return 'int' compilation terminated due to -Wfatal-errors!!! Вот задаие::Данная матрица А (4,5), элементы...

int main() и int _tmain(int argc, _TCHAR* argv[]) - C++
При создании нового консольного приложения Microsoft Visual С++ 2010 Express создает начальный шаблон #include "stdafx.h" int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.08.2014, 10:02
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru