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

Компиляторы отказываются компилировать. - C++

Восстановить пароль Регистрация
 
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
31.12.2010, 19:47     Компиляторы отказываются компилировать. #1
Почему-то С++ Builder и Dev-C++ отказываются выполнять этот простейший код.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
int main (int nNumberofArgs, char * psArgs [])
{
    int  nNimb;
    nNimb=2;
    int nNumb;
    nNumb=3*2;
    int nFack;
    nfack=nNimb*nNumb;
    cout << nNimb;
    getch();
    return 0;
}
Обьсяните плз почему?
p.s. я начинающий программист ,такчто прошу обьянить популярно.
p.s.s. Всех с Новым Годом!!!))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2010, 19:47     Компиляторы отказываются компилировать.
Посмотрите здесь:

Hello world и компиляторы C++
C++ Разные компиляторы
C++ Компиляторы
C++ Компиляторы
компиляторы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
31.12.2010, 19:48     Компиляторы отказываются компилировать. #2
C++
1
#include <iostream.h>
Измените на
C++
1
#include <iostream>
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
31.12.2010, 19:54     Компиляторы отказываются компилировать. #3
+
C++
1
using namespace std;
для Dev-C++.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.12.2010, 19:56     Компиляторы отказываются компилировать. #4
В Си различают строчные и прописные буквы. Переменная у вас объявлена с именем nFack, а используется с именем nfack, а эти два идентификатора считаются различными. К тому же, если используется iostream (а именно его надо использовать), а не iostream.h, нужно явно разрешать пространство имён, т.е. писать не просто cout, а std::cout, либо использовать using namespace std;.
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
31.12.2010, 20:03  [ТС]     Компиляторы отказываются компилировать. #5
спс всем помогло, но при использовании using namespace std; выдовало ошибку в строке
int main (int nNumberofArgs, char * psArgs [])

А в чём разница между <iostream.h> и <iostream>?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
31.12.2010, 20:05     Компиляторы отказываются компилировать. #6
Цитата Сообщение от silent_1991 Посмотреть сообщение
К тому же, если используется iostream (а именно его надо использовать), а не iostream.h, нужно явно разрешать пространство имён, т.е. писать не просто cout, а std::cout, либо использовать using namespace std;
Если не ошибаюсь, то в билдере можно и без этой строчки using namespace std; писать прсто cout.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
31.12.2010, 20:27     Компиляторы отказываются компилировать. #7
asics, а, ну да, да, вечно забываю об этом)))

sunlight17, вообще, если честно, я не уверен, стандартизированы-ли имена параметров функции main, но советую использовать общепринятое int main(int argc, char *argv[]);
Soft
4 / 4 / 1
Регистрация: 20.09.2010
Сообщений: 102
31.12.2010, 20:33     Компиляторы отказываются компилировать. #8
Цитата Сообщение от sunlight17 Посмотреть сообщение

А в чём разница между <iostream.h> и <iostream>?
Разницы никакой, вообще IOSTREAM по стандарту пишут без расширения, т.е. без .h. Но с другими хедерами все иначе. Одни компиляторы могут воспринимать их без .h, другие как например DEV-C++ воспринимают только с .h.

Добавлено через 2 минуты
Цитата Сообщение от silent_1991 Посмотреть сообщение

sunlight17 советую использовать общепринятое int main(int argc, char *argv[]);
Поддерживаю, всегда так делаю, работает без отказно.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
31.12.2010, 20:39     Компиляторы отказываются компилировать. #9
Цитата Сообщение от Soft Посмотреть сообщение
Одни компиляторы могут воспринимать их без .h, другие как например DEV-C++ воспринимают только с .h.
Вы наверно хотели написАть: С++ Builder требует .h
sunlight17
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 29
31.12.2010, 20:41  [ТС]     Компиляторы отказываются компилировать. #10
Цитата Сообщение от Soft Посмотреть сообщение
Разницы никакой, вообще IOSTREAM по стандарту пишут без расширения, т.е. без .h. Но с другими хедерами все иначе. Одни компиляторы могут воспринимать их без .h, другие как например DEV-C++ воспринимают только с .h.
Пнтн , просто раньше всё нормально было ( пока в книге не дошёл до арифметитеских операторов),
а тут на тебе...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2010, 21:01     Компиляторы отказываются компилировать.
Еще ссылки по теме:

Шаблон класса и перегруженного оператора отказываются дружить C++
Чем отличаются компиляторы? C++
Компиляторы и IDE C++ C++

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
31.12.2010, 21:01     Компиляторы отказываются компилировать. #11
Цитата Сообщение от sunlight17 Посмотреть сообщение
А в чём разница между <iostream.h> и <iostream>?
По новому стандарту хидеры указываются без расширения, сишные хидеры к томуже имеют вначале букву с (например "cstdio"). Так же в новом стандарте появилось понятие пространства имен, и все стандартные функции помещены в пространство std.
Цитата Сообщение от asics Посмотреть сообщение
Вы наверно хотели написАть: С++ Builder требует .h
Билдер поддерживает и старый стандарт и новый.
Yandex
Объявления
31.12.2010, 21:01     Компиляторы отказываются компилировать.
Ответ Создать тему
Опции темы

Текущее время: 00:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru