crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Не компилируется программа, Ошибки в коде или не правильная конфигурация Qt Creator?
Dima2387
  опции профиля:
сообщение 2.2.2013, 5:28
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 31.1.2013
Пользователь №: 3696

Спасибо сказали: 0 раз(а)




Репутация:   0  


Читаю книгу "Стефан Р. Дэвис C++ для чайников (4-е издание, 2003)" В ней первый же пример это написание программы переводящей температуру из градусов по цельсию в градусы по фаренгейту. Однако у меня она не компилируется( Причем это уже не первая книга примеры которой у меня не работают, уже перепробовал книги три, но вообщем-то суть не в этом) суть в том что поменяв две строки все заработало.

вот как было в примере из книги(строка номер 4):

int main(int nNumberofArgs, char* pszArgs[])


вот как сделал я на основе примера хелло ворд который появляется сам когда создаешь новый проект си++ в qt designer (изменения в строке 4 и добавление новой строки перед ней)

using namespace std;
int main()

Почему не работает пример из книги?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 2.2.2013, 10:47
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


using namespace std;

Служит для включения пространства имен std. Без этого нужно было бы писать std::cin, std::cout и т.д. И еще, объявляете переменную nNFactor, а используете nFactor.

Сообщение отредактировал ilyabvt - 2.2.2013, 10:47
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 2.2.2013, 17:34
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


пространство имён std было введено в относительно "новых" стандартах C++ (кажется, с С99, если не ошибаюсь). до этого стандартные библиотеки назывались с расширением .h и все их функции и объекты были объявлены в общем пространстве имён.
то есть, теоретически можно было включать #include <header.h> и не использовать пространство std. потом это объявили устаревшим форматом и теперь заголовки включаются как #include <header> и обязательно использование пространства имён std.
для примеров лучше брать новые книги по С++. в старых могут быть несоответствия с новыми стандартами.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dima2387
  опции профиля:
сообщение 2.2.2013, 17:44
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 31.1.2013
Пользователь №: 3696

Спасибо сказали: 0 раз(а)




Репутация:   0  


ilyabvt Спасибо!
Iron Bug Большое спасибо, теперь понятно почему не идут примеры из книг если переписывать их оттуда 1 в 1.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.12.2024, 20:20