Por que estou recebendo erros de tempo de compilação neste programa C ++?

2

Eu sou novo no Ubuntu e no seu terminal. Eu estou tentando codificar C ++ usando nano something.cpp um programa geral "Hello World" em primeiro lugar.

Primeiro, recebi um erro sobre iostream.h e cout não reconhecidos. Eu procurei na web e descobri que era um C ++ mais recente e tivemos que usar iostream em vez de iostream.h e std::cout em vez de cout . Funcionou bem depois de fazer essas mudanças (compiladas usando o gcc).

Agora tentei criar o segundo programa. Aqui eu tive que inserir meu nome e mostraria "Hello Myname".

O código foi:

#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;
}

Quando tentei compilar (usando gcc myprog.cpp -o hello ); Eu tenho os seguintes erros:

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

Pesquisei na Web, mas não encontrei ajuda. Como me livrar desses erros?

Eu também ficaria feliz se alguém me sugerisse um livro sobre este "NEWER" C ++.

    
por Anubhab 26.05.2013 / 10:40

1 resposta

3

Antes de mais nada, use g++ para compilar, depois que você esqueceu o qualificador de namespace para a string g . Tente std::string g; . E compile com g++ myprog.cpp -o hello .

    
por ortang 26.05.2013 / 10:50