Jump to content
Fórum Script Brasil
  • 0

Problema com tamanho do vetor no .h - Windows


fluciamat

Question

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.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

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 by kuroi
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...