Autor Tópico: [Resolvido]Problema com vetores #include <vector>  (Lida 2869 vezes)

Offline edjin

  • Usuário Ubuntu
  • *
  • Mensagens: 67
    • Ver perfil
[Resolvido]Problema com vetores #include <vector>
« Online: 04 de Maio de 2011, 16:02 »
Estou estudando C++ (com apostila do Andre Duarte Bueno) por contra própria mas estou travado no exemplo de uso de vetores ...

Código: [Selecionar]
#include <iostream>
#include <vector>
 
int main()
{
vector<int> v
int data;

std::cout << "No linux um ctrl+z encerra a entrada de dados. ";

do {
std::cout << "\nEntre com o dado (" << v.size () << "):";
std::cin >> data;
cin.get ();
if(cin.good ());
v.push_back (data);
   }
   
       while(cin.good ());
        
       std::cout << "\nPrineiro elemento do vetor= " << v.front ();
       std::cout << "\nUltimo elemento do vetor= " << v.back ();
        
       for(int i = 0; i < v.size (); i++) {    
             std::cout << "vetor[" << i << "]=" << v[i] << ' ';                                  
                                  }  
                                          
       std::cout << ( v.empty ()? "O vetor está vazio" : "O vetor não está vazio");
       v.clear();
       std::cout << ( v.empty ()? "O vetor está vazio" : "O vetor não está vazio");
       cin.get ();
        
       return 0;        
}
E me é retornado os seguinte erros:
Código: [Selecionar]
$ g++ programa-vetor.cpp

Programa-vetor.cpp: In funçtion ‘int main’
Programa-vetor.cpp:6: error ‘vector’ was not declared in this scoupe
Programa-vetor.cpp:6: error expected primary-expression before ‘int’
Programa-vetor.cpp:6: error expected ‘;’ before ‘int’
Programa-vetor.cpp:12:error ‘v’ was not declared in this scoupe
Programa-vetor.cpp:14:error ‘cin’ was not declared in this scoupe
Programa-vetor.cpp:19:error ‘cin’ was not declared in this scoupe
Programa-vetor.cpp:21:error ‘v’ was not declared in this scoupe

Acredito que esses erros não são dificeis de resolver. No mais agradeço pela ajuda. :)
« Última modificação: 18 de Maio de 2011, 14:19 por edjin »

Darcamo

  • Visitante
Re: Problema com vetores #include <vector>
« Resposta #1 Online: 04 de Maio de 2011, 22:46 »
Comece vendo as mensagens de erro pelo começo para identificar o problema (muitos erros do final são consequências de erros anteriores).
A primeira mensagem de erro útil é
Código: [Selecionar]
Programa-vetor.cpp:6: error ‘vector’ was not declared in this scoupe
Mas aí você diz "Ora, mas eu incluí o cabeçalho do vector. Por que que ele diz que vector não foi declarado?".
É que na verdade o tipo não é apenas "vector", mas sim "std::vector". Ou seja, é necessário indicar o namespace também, que no caso da biblioteca padrão é "std".

A mesma coisa vale para o "cin" e para o "cout" (por isso que tem erros dizendo que eles não foram declarados mesmo você tendo incluído o cabeçalho do iostream onde eles são definidos).

Mas para não ter que escrever "std::" na frente de tudo quanto é coisa da biblioteca padrão basta colocar a linha abaixo antes do main.
Código: [Selecionar]
using namespace std;
Fora isso faltou apenas um ";" depois do "vector<int> v", que é o que causa a mensagem de erro
Código: [Selecionar]
error expected ‘;’ before ‘int’