Почему я получаю ошибки времени компиляции в этой программе C ++?

Я новичок в Ubuntu и его терминале. Сначала я пытаюсь кодировать C ++, используя nano something.cpp обычную программу «Hello World».

Сначала я получил сообщение о том, что iostream.h и cout не распознаны. Я искал в Интернете и обнаружил, что это более новый C ++, и нам пришлось использовать iostream вместо iostream.h и std::cout вместо cout. Это хорошо работало после внесения этих изменений (скомпилировано с использованием gcc).

Теперь я попытался создать вторую программу. Здесь я должен был ввести свое имя, и оно показывало бы «Привет, Myname».

Код был:

#include <string>
#include <iostream>
int main()
{
  string g;
  std::cout << "What is your name?\n";
  std::cin >> g;
  std::cout << "Hello\n" << g << std::endl;
  return 0;
}

Когда я пытался скомпилировать (используя gcc myprog.cpp -o hello); Я получил следующие ошибки:

prog.cpp: In function ‘int main()’:
prog.cpp:5:1: error: ‘string’ was not declared in this scope
prog.cpp:5:1: note: suggested alternative:
/usr/include/c++/4.6/bits/stringfwd.h:65:33: note:   ‘std::string’
prog.cpp:5:8: error: expected ‘;’ before ‘g’
prog.cpp:7:13: error: ‘g’ was not declared in this scope

Я искал в Интернете, но не нашел никакой помощи. Как мне избавиться от этих ошибок?

Я также был бы рад, если бы кто-нибудь предложил мне книгу по этому «НОВОМУ» C ++.

2
задан 26 May 2013 в 12:54

1 ответ

Прежде всего используйте g++ для компиляции, затем вы забыли квалификатор пространства имен для строки g. Попробуйте std::string g;. И скомпилируйте его с g++ myprog.cpp -o hello.

0
ответ дан 26 May 2013 в 12:54

Другие вопросы по тегам:

Похожие вопросы: