Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Ошибка в простой С++ программе [РЕШЕНО]  (Прочитано 5752 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Ошибка в простой С++ программе [РЕШЕНО]
« Ответ #15 : 27 Марта 2011, 13:42:32 »
Вообще должно быть так. Неужели очепятка в книжке?
yurik@book:~$ cat test.cc
#include <iostream>
#include <string>

using std::string;

int main()
{
    string str("test");
    std::cout << str << std::endl;
}
yurik@book:~$ g++ test.cc
yurik@book:~$ ./a.out
test
yurik@book:~$


Пользователь решил продолжить мысль 27 Марта 2011, 13:44:45:
Посмотрел в PDF'ку. Дейсвительно, фигня написана, а я просто скопировал и проглядел касяк. Спишем багу на книжных пиратов.
Не качайте книжки в интернете!
« Последнее редактирование: 27 Марта 2011, 13:44:45 от Yurror »

Оффлайн ChaosWarrior

  • Активист
  • *
  • Сообщений: 461
  • d(-_-)b
    • Просмотр профиля
Re: Ошибка в простой С++ программе [РЕШЕНО]
« Ответ #16 : 27 Марта 2011, 13:52:52 »
Можно и так
#include <iostream>

using std::string;

int main()
{
    string str="test";
    std::cout << str << std::endl;
}
Открытый код и его подержка — это лучшая реклама Windows.

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5593
  • Все по палатам!
    • Просмотр профиля
Re: Ошибка в простой С++ программе [РЕШЕНО]
« Ответ #17 : 27 Марта 2011, 14:07:19 »
Не качайте книжки в интернете!
Почему это? Это же хорошие упражнения по поиску багов  ;)
Извините, я все еще учусь

Оффлайн Jack Sparrow

  • Автор темы
  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Ошибка в простой С++ программе [РЕШЕНО]
« Ответ #18 : 27 Марта 2011, 14:12:37 »
Качать с магазина пока нет физической возможности  ;)
В принципе, получилось:
#include <iostream>
#include <string>
using std::string;

struct Time {
    // Структура, описывающая время
    int hour, minute;
    double second;
};

Time mytime = {11, 59, 3.14159};

void printTime (Time& t) {
    // Вывод времени в консоль.
    std::cout << t.hour << ":" << t.minute << ":" << t.second << std::endl;
}

int main() {
    printTime (mytime);
    return 0;
}
Однако, если mytime изменить на time, то снова возникают конфликты. Выходит, поменяли шило на мыло?
Linux is only free if your time has no value (c) Jamie Zawinski

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Ошибка в простой С++ программе [РЕШЕНО]
« Ответ #19 : 27 Марта 2011, 14:22:28 »
ttt.cc:11: error: ‘Time time’ redeclared as different kind of symbol /usr/include/time.h:186: error: previous declaration of ‘time_t time(time_t*)’
ttt.cc: In function ‘int main()’:
ttt.cc:19: error: invalid initialization of non-const reference of type ‘Time&’ from a temporary of type ‘time_t (*)(time_t*)throw ()’
ttt.cc:13: error: in passing argument 1 of ‘void printTime(Time&)’
Написано же что конфликтует с Сишной функцией time(). Хотя я не понял почему не отработал декоратор имён. Или он на имена переменных не распространяется?

 

Страница сгенерирована за 0.052 секунд. Запросов: 25.