fluciamat Postado Novembro 15, 2011 Denunciar Share Postado Novembro 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Novembro 15, 2011 Denunciar Share Postado Novembro 15, 2011 (editado) 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;} Editado Novembro 15, 2011 por kuroi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fluciamat Postado Novembro 24, 2011 Autor Denunciar Share Postado Novembro 24, 2011 Obrigada! :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.