Ir ao conteúdo
  • Cadastre-se

Vetor de ponteiros do tipo de uma classe


llamalopes

Posts recomendados

Olá, eu tenho que fazer um programa que simula o tempo que uma informação demora para percorrer um circuito integrado.

Para isso eu recebo uma netlist, que é a descrição de como é o meu circuito integrado, e devo a partir dessas informações criar o circuito atraves de uma lista/arvore.

O complicador deste programa é que cada celula pode ter varios vetores sendo apontado para ela e pode apontar para varias celulas diferentes... então pensei em fazer o last e o next (ponteiros que apontam para a proxima celula e para a celula anterior) como sendo um vetor de ponteiros.

Bom nao sei porque mas o programa nao funciona, aqui esta a parte do codigo

celula.h

#include <cstdlib>
#include <iostream>

using namespace std;

#ifndef CELULA_H
#define CELULA_H


class celula {
public:
int atraso_total; //maior tempo que o dado demora para percorrer a primeira celular até a saida da celula
int atraso_cell; // tempo que o dado demora para percorrer a celula
int num_in; //numero e entrada da celula
int num_out; //numero de saidas da celula
char nome_cell[10];//nome da celula
char nome_in[5]; //nome da entrada da celula DEVO MUDAR PARA UMA MATRIZ POIS PODE TER MAIS DE UMA ENTRADA
char nome_out[5]; //nome da saida
celula (void); //função q cria a celula
//int atraso_cell
celula (int); //função que defini o valor do atraso da celula
//int num_in, int num_out, int atraso_cell, char nome_in[5], char nome_out[5], char nome_cell[10]
int set (int, int, int, char[5], char[5], char[10]);//função que define os valores da celula
//int atraso (void);
//DECLARAÇÃO NAO ESTÁ CORRETA
celula **next; //aponta para a proxima celula
celula **last; //aponta para a celula passada}
};


#endif


celula.cpp

#include <cstring>
#include "celula.h"

celula :: celula () {
*next = NULL;
*last = NULL;
} // Construtor padrão

celula :: celula (int _atraso_cell, int _num_in) { // Constroi a celula recebendo de parametro o valor do atraso da celula
atraso_cell = _atraso_cell;
*next = NULL;
*last = NULL;
}

int celula:: set (int _num_in, int _num_out, int _atraso_cell, char _nome_in[5], char _nome_out[5], char _nome_cell[10]){
*cell[] = new celula;//cria nova celula

cell[]->num_in = _num_in; //redireciona os valores recebidos para as variaveis da celula - numero de entradas
cell[]->num_out = _num_out; //numero de saidas
cell[]->atraso_cell = _atraso_cell; //atraso da celula
cell[]->nome_in[5] = _nome_in[5]; //nome da entrada
cell[]->nome_out[5] = _nome_out[5]; //nome da saida
cell[]->nome_cell[10] = _nome_cell[10]; //nome da celula
cell[]->atraso_total = -1;
}

Não sei o que está errado... eu só fiz aulas de programação em C e já faz um tempo, então estou com dificuldade de achar os erros.

Brigada

Link para o comentário
Compartilhar em outros sites

Não consegui fazer funcionar, mas vou postar os erros, quem sabe alguém vem aqui e consegue analisá-los :)

error: prototype for 'celula::celula(int, int)' does not match any in class 'celula'|

|error: candidates are: celula::celula(const celula&)|

error: celula::celula(int)|

|error: celula::celula()|

In member function 'int celula::set(int, int, int, char*, char*, char*)':|

|error: 'cell' was not declared in this scope|

error: expected primary-expression before ']' token|

error: expected primary-expression before ']' token|

error: expected primary-expression before ']' token|

|error: expected primary-expression before ']' token|

error: expected primary-expression before ']' token|

error: expected primary-expression before ']' token|

|error: expected primary-expression before ']' token|

error: expected primary-expression before ']' token|

warning: no return statement in function returning non-void|

||=== Build finished: 13 errors, 1 warnings ===|

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...