fluciamat Posted November 15, 2011 Report Share Posted November 15, 2011 Olá pessoal, bom dia. Muito obrigada pela atenção de vocês. Estou com uma dúvida cruel,Se eu declarar um vetor com tamanho fixo no main.cpp não tenho problema algum, std::vector<int> vetorteste(5);porém se eu quiser fazer o mesmo em um atributo de uma classe eu tenho o seguinte erro "error: expected `;' before '(' token|Eu não posso ter como atributo de uma classe vetores com tamanhos pré-definidos?Obrigada pela atenção, novamente. Quote Link to comment Share on other sites More sharing options...
0 kuroi Posted November 15, 2011 Report Share Posted November 15, 2011 (edited) acontece q vector tb é uma classe e ao escrever desse modo como fez, você não esta apenas declarando o vetor, mas tb o esta inicializando.isso é permitido fazer dentro de funcoes ou metodos, mas não no corpo da classe, porque essa é uma area de declaracao, você não pode executar instrucoes ai.você pode sim declarar o vector vazio e inicializa-lo no constructor da sua classe. exemplo:class classe{ public : std::vector<int> vetorteste; //declaro o vetor vazio classe() //esse é o construtor da minha classe { vetorteste = std::vector<int>(5); //aqui aloco as 5 posicoes pro meu vetor }};[/code] assim você pode usar seu vetor normalmente: [code]int main(void){ int i; //aqui inicializo minha classe. o constuctor é chamado e o vetor, alocado. classe x = classe(); for (i = 0; i < x.vetorteste.size(); i++) { x.vetorteste[i] = i; } for (i = 0; i < x.vetorteste.size(); i++) { std::cout << x.vetorteste[i] << std::endl; } return 0;} Edited November 15, 2011 by kuroi Quote Link to comment Share on other sites More sharing options...
0 fluciamat Posted November 24, 2011 Author Report Share Posted November 24, 2011 Obrigada! :) Quote Link to comment Share on other sites More sharing options...
Question
fluciamat
Olá pessoal, bom dia.
Muito obrigada pela atenção de vocês. Estou com uma dúvida cruel,
Se eu declarar um vetor com tamanho fixo no main.cpp não tenho problema algum,
porém se eu quiser fazer o mesmo em um atributo de uma classe eu tenho o seguinte erro "error: expected `;' before '(' token|
Eu não posso ter como atributo de uma classe vetores com tamanhos pré-definidos?
Obrigada pela atenção, novamente.
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.