Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - anamnesis_92

#1
Muchisimas gracias por contestar; y aunque no me salen mas fallos sigue sin hacerlo bien. De todas formas gracias.
#2
Lo primero gracias por responder; he utilizado const y ya compila pero colocando un cout<<m[j] en la linea 38 compruebo que no hace los que esperaba, asi que sigo sin saber donde esta el fallo....
#3
Buenas a todos, estoy haciendo un juego y una clase me da error, y no se a que se debe; la función debería leer de un archivo números de 5 cifras, después almacenarlos en una matriz de 4 columnas por un numero de filas que es el primer numero del archivo.
A ver si me podéis ayudar a arreglar el código.


#include <iostream>
#include <fstream>
using namespace std;

class matriz
{
    public:
    int filas;
    char cadena[5];
    int **m;

    void leer(char* s)
    {
        //abrimos
        ifstream fe;
        fe.open(s,ios::in);
        if(!fe)
        {
            cout<<"fallo"<<endl;
        }
        //leemos
        //con la primera linea sacamos las filas
        fe.getline(cadena,6);
        //para pasar la cadena a un int
        filas=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);
        //iniciamos la matriz
         m=new int *[filas];
        for(int i=0;i<=filas;i++)
        {
            m[i]=new int[4];
        }
        //seguimos leyendo
        for(int i=0;i<filas;i++)
        {
            for(int j=0;j<4;j++)
            {
                fe.getline(cadena,6);
                m[i][j]=(cadena[0]-48)*10000+(cadena[1]-48)*1000+(cadena[2]-48)*100+(cadena[3]-48)*10+(cadena[4]-48);

            }
        }
        fe.close();
    }

    void destruir()
    {
         for(int i=0;i<=filas;i++)
        {
            delete [] m[i];
        }
        delete [] m;
    }

};

int main()
{
    matriz matriz1;
    matriz1.leer("mapa1.txt");
    matriz1.destruir();
    return 0;
}


Gracias a todos por adelantado.
#4
Muchas gracias de todas formas!
#5
lo que digo es que como lo hago si necesito que una funcion cree una instancia
#6
Muchas gracias, pero otra cosa, según tengo entendido para declarar instancias globales las tengo que declarar fuera del main, debajo de la declaración de las clases, pero si necesito hacerlo dentro de una función o en otro lado, como lo hago?¿
#7
Es que el programa es realmente largo, pero he probado haciendolo con programitas mas simples a ver si funcionaba. Es así, no tiene mas:

#include <iostream>
class Clase
{
    public:
    int x;

};
int funcion();
int main()
{
    Clase clase1;
    funcion();
return 0;
}

int funcion()
{
   clase1.x =3
return 0;
}



me sale
In function 'int funcion()':
Line 19: error: 'clase1' was not declared in this scope
compilation terminated due to -Wfatal-errors.

y si la paso como parámetro no, pero no puedo pasarle 10 instancias a cada clase.....
#8
Hola a todos, tengo un programa con varias clases y funciones (que hacen referencia a instancias de estas clases) pero al compilar me salta error a menos de pase las instancias como parámetro de la función; pero tengo muchas funciones y muchas clases. Tiene que haber alguna manera de hacerlo más fácil, pero acabo de empezar con c++ y no se hacerlo, espero que me podáis ayudar, gracias a todos por adelantado
#9
Muchas gracias!

EI: juntando mensajes.

Cita de: Akai en 21 Enero 2012, 20:19 PM
Necesitas pasarle el objecto a funciçon para que esta pueda operar con él.

función pasaría a ser de este modo:
Código (cpp) [Seleccionar]
int funcion(Clase clase)

de todos modos, cada clase que use en una funcion la tengo que pasar como parametro?¿¿
no hay otro modo¿?
#10
Hola soy muy novato en c++  y al compilar el siguiente codigo me da error, a ver si me podeis ayudar:


#include <iostream>


class Clase
{
   private:
   int a;

   public:
   void seta(int w){a=w;};
   int geta(){return a;};
};


int funcion();

int main()
{
   Clase clase;
   funcion();
   clase.seta(1);
   return 0;
}


int funcion()
{
   clase.seta(2); ////////////////////////////////////////en esta linea//////////////////////////////////////

   return 0;
}



me salta "error: 'clase' no se declaró en este ámbito"


seguro que es una tonteria, gracias por adelantado!