Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
llamalopes

Vetor de ponteiros do tipo de uma classe

Recommended Posts

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

Editado por Libra
Adicionar a tag code

Compartilhar este post


Link para o post
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 ===|

Compartilhar este post


Link para o post
Compartilhar em outros sites

Natalie, porque você usa **celula next//**celula last na declaração da classe?

Só um ponteiro ja estaria certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Natalie, porque você usa **celula next//**celula last na declaração da classe?

Só um ponteiro ja estaria certo?

Não sei, não fiz isso, não sou a criadora desse tópico. Apenas postei os erros ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×