Author Topic: [Error compilación] C2533  (Read 9562 times)

anterma

  • Newbie
  • *
  • Posts: 14
  • Karma: 0
    • View Profile
[Error compilación] C2533
« on: Abril 27, 2012, 11:16:40 am »
Hola,
No sé si esto va aqui pero es que como el hilo de C pone que es para Linux...
Tengo un problema de compilación en Visual Studio. Me dice lo siguiente:
Error   4   error C2533: 'CMiClase::{ctor}' : los constructores no permiten un tipo de valor devuelto

<<
MiClase.cpp:
CMiClase::CMiClase()
{
//vacio
}
>>

<<
MiClase.h:
public:
CMiClase::CMiClase();
>>

Saludos y gracias

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5541
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: [Error compilación] C2533
« Reply #1 on: Abril 27, 2012, 01:45:22 pm »
No parece que los ficheros que pones estén completos, pero por el error y según este enlace http://msdn.microsoft.com/es-es/library/tcz112eb(v=vs.80).aspx es como si hubieras puesto que el constructor devuelve algún tipo.

Se bueno.

LeeCollier

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
    • apk getmodnow
Re: [Error compilación] C2533
« Reply #2 on: Abril 05, 2023, 10:58:24 am »
Hola,
No sé si esto va aqui pero es que como el hilo de C pone que es para Linux...
Tengo un problema de compilación en Visual Studio. Me dice lo siguiente:
Error   4   error C2533: 'CMiClase::{ctor}' : los constructores no permiten un tipo de valor devuelto

<<
MiClase.cpp:
CMiClase::CMiClase()
{
//vacio
}
>>

<<
MiClase.h:
public:
CMiClase::CMiClase();
>>

Saludos y gracias
Hola,

El error C2533 que mencionas se produce cuando se intenta especificar un tipo de valor devuelto para un constructor. En C++, los constructores no tienen un tipo de valor devuelto explícito y, por lo tanto, no se debe declarar uno.

En tu código, el problema parece ser que estás declarando el constructor en el archivo de encabezado (MiClase.h) con un tipo de valor devuelto. Esto es incorrecto y puede estar causando el error de compilación.

Para solucionar el problema, debes modificar la declaración del constructor en el archivo de encabezado MiClase.h de la siguiente manera:

public:
CMiClase();

La definición del constructor en el archivo de implementación MiClase.cpp es correcta y no necesita modificarse.

Espero que esta respuesta te haya sido útil. Si tienes alguna otra pregunta o inquietud, no dudes en preguntar.