Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
vbmaster

error: 'xxxx" not declared in the scope

Recommended Posts

vbmaster

Pois é pessoal, ando aqui com a cabeça à nora a tentar perceber os códigos do meu bookzeco de c++, ainda por cima acompanhados de breves e "esclarecedoras" explicações....

Enfim, vou tentando sobreviver...

Nesta código que o livro apresenta o g++ retorna erros maioritariamente de variáveis fora da scope... mas eu pensava que elas eram variáveis globais, porque está a dar este erro?

Look at it:

(este código basicamente, pede-nos que escrevamos palavras, e estas são auomaticamente adicionadas ao struct caso lá não estejam e depois são retornadas com o número de vezes que estiveram presentes no nosso texto... pelo menos foi o que percebi) :x

#include <iostream>
using namespace std;
const int max = 25;
struct pair {
char name[max];
int val;
};
const words = 1024;
pair vec[words];

pair &find (const char* p) {
for (int i = 0; vec[i].val && strcmp(p ,vec[i]name); ++i);
return vec[i];
}

void count (char* word) {
pair& res = find(word);
if (res.val == 0) strcpy(res.name, word);
	++res.val;
}

int main () {
char buf[max];
cout << "Escrever palavras, terminar com EOF (CTRL z)" << endl;
while (cin >> buf )
	count(buf);
for (int i = 0; vec[i].val; ++i)
	cout << vec[i].name << ":" << vec[i].val << endl;
while(cin.get () == '\0');
return 0;
}

Share this post


Link to post
Share on other sites
neon_prannock

Bem, eu experimentei o código no Dev-C++.

const words = 1024; <- aqui esqueceste-te de indicar o tipo, int provavelmente.

Depois parece que as estruturas não gostam muito que os seus membros sejam definidos com valores das tuas constantes. Tenta usar

#define max 25

em vez de

const int max = 25;

e penso que deixa de dar esse erro, pelo menos no Dev-c++

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.