Problemas con el compilador de Borland C ++ (versión 5.5)
-
24-10-2019 - |
Pregunta
Declaración:
namespace a {
namespace b {
class Classe {
public:
Classe();
};
}
}
Definición:
#include "sample.h"
namespace a {
b::Classe::Classe(){}
}
Pero con esta definición obtuve este error:
Error E2038. Sample.cpp 4: No se puede declarar o definir 'B :: Classe :: Classe ()' aquí
Todo funciona bien cuando cambia la fuente a:
#include "sample.h"
namespace a {
namespace b {
Classe::Classe(){}
}
}
¿Cómo puedo compilar sin cambiar todo el código?
No es mi elección. De hecho, soy un desarrollador en un entorno de Linux, y nunca pensé que volvería a desarrollar en Windows. Es para un cliente específico que solo funciona con el compilador de Borland C ++.
encontré esta página wiki de Embarcadero. No ayuda mucho.
Me rindo. Estoy haciendo lo que dijo Remy.
Solución
Intente eliminar el bloque de espacio de nombres en el archivo .cpp y simplemente califique todo el constructor:
#include "sample.h"
a::b::Classe::Classe(){}
Otros consejos
Si todas las declaraciones están en un bloque, podría intentar cambiar namespace b { }
a struct b { };
.