elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  error en poo cuando compilo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error en poo cuando compilo  (Leído 2,145 veces)
sytem200

Desconectado Desconectado

Mensajes: 49


Ver Perfil
error en poo cuando compilo
« en: 19 Junio 2019, 10:05 am »

cuando compilo este code
Código:
#include<iostream>
#include<stdlib.h>
using namespace std;

class Persona{
    private:
        int edad;
        string nombre;
    public:
        Persona(int, string);
        void leer();
        void corre();
};
//constructor nos sirve para inicializar los atributos de la clase
Persona::Persona(int _edad, string _nombre){
    edad=_edad;
    nombre=_nombre;
}

void Persona::leer(){
    cout<<"soy"<<nombre<<"y estoy leendo"<<endl;
}
void Persona::corre(){
     cout<<"soy"<<nombre<<"y estoy corriendo"<<endl;
}
int main(){
    Persona p1=perror(20,"alejandro");  ->>> aca es donde me sale el error linea 27

 p1.leer();

 system("pause");
 return 0;
}


||=== Build: Debug in app (compiler: GNU GCC Compiler) ===|
||In function 'int main()':|
|27|error: invalid conversion from 'int' to 'const char*' [-fpermissive]|
|27|error: too many arguments to function 'void perror(const char*)'|
|481|note: declared here|
27|error: conversion from 'void' to non-scalar type 'Persona' requested|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



me sale estos tipos de errores en  Persona p1=perror(20,"alejandro");


En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: error en poo cuando compilo
« Respuesta #1 en: 19 Junio 2019, 12:24 pm »

Estás pasando 2 parámetros a perror. Solo acepta un string como parámetro. Tu le estás metiendo un int.
Tampoco entiendo para que quieres que p1 almacene el código del error.
No tienes ningún método para acceder a nombre.



En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

jmpesp

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: error en poo cuando compilo
« Respuesta #2 en: 20 Junio 2019, 07:09 am »

cuando compilo este code
Código:
#include<iostream>
#include<stdlib.h>
using namespace std;

class Persona{
    private:
        int edad;
        string nombre;
    public:
        Persona(int, string);
        void leer();
        void corre();
};
//constructor nos sirve para inicializar los atributos de la clase
Persona::Persona(int _edad, string _nombre){
    edad=_edad;
    nombre=_nombre;
}

void Persona::leer(){
    cout<<"soy"<<nombre<<"y estoy leendo"<<endl;
}
void Persona::corre(){
     cout<<"soy"<<nombre<<"y estoy corriendo"<<endl;
}
int main(){
    Persona p1=perror(20,"alejandro");  ->>> aca es donde me sale el error linea 27

 p1.leer();

 system("pause");
 return 0;
}


||=== Build: Debug in app (compiler: GNU GCC Compiler) ===|
||In function 'int main()':|
|27|error: invalid conversion from 'int' to 'const char*' [-fpermissive]|
|27|error: too many arguments to function 'void perror(const char*)'|
|481|note: declared here|
27|error: conversion from 'void' to non-scalar type 'Persona' requested|
||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|



me sale estos tipos de errores en  Persona p1=perror(20,"alejandro");

Tenes un error de tipeo. Parece que intentabas escribir "Persona" y el IDE que estas usando lo autocompleto a "perror."

Por otro lado, no hace falta la asignacion, basta con pasar los parametros al constructor de la clase al inicializarla:

Código:
Persona p1(20, "alejandro");

A menos que quieras almacenarlo en la heap, en ese caso si es necesario asignarle la direccion de memoria de la nueva instancia a el puntero:

Código:
Persona *p1 = new Persona(20, "alejandro");
p1->leer();
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error cuando compilo- dev c++
Programación C/C++
kiara_luna 1 3,619 Último mensaje 15 Agosto 2011, 13:32 pm
por Dark Invader
Cuando compilo mi aplicación, no funciona. « 1 2 3 »
.NET (C#, VB.NET, ASP)
Eleкtro 21 10,600 Último mensaje 23 Noviembre 2012, 00:27 am
por Pablo Videla
Mi programa no se abre cuando lo compilo desde cmd
Java
VintageChanel 6 5,392 Último mensaje 24 Enero 2015, 03:36 am
por Usuario Invitado
Error lógico cuando compilo ejercicio - CONSULTA
Programación C/C++
Cero++ 6 1,959 Último mensaje 11 Diciembre 2018, 20:51 pm
por Cero++
cuando compilo sale virus
Programación C/C++
Tusanjamon 9 5,294 Último mensaje 30 Enero 2023, 20:09 pm
por RayR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines