Error interno de compilacior

Iniciado por Kaxperday, 14 Agosto 2015, 20:48 PM

0 Miembros y 1 Visitante están viendo este tema.

Kaxperday

Código (cpp) [Seleccionar]
almacen a;
a.crear_archivo();
a.insertar_campo("pruebaOEIOIEOCIo", 2);
cout << a.obtener_campo(2);


CitarError   3   error C1001: Error interno en el compilador.

Definicion de la problemática clase:

Código (cpp) [Seleccionar]
class almacen
{
private:
string directorio = string(DIRECTORIO_INSTALACION) + string(NOMBRE_ALMACEN);
string *delimitadores = new string[5]{
"Cqwerwerwerwer23t23tt",
"7348b3835grtjebr6uertt",
"nyFtCn4jPKItqWCAdJn66",
"QT36ub356iub356ub635"
"y98NYN8YA89CYA898333"};
public:
bool crear_archivo();
bool existe_archivo();
bool corrupto_archivo();
bool insertar_campo(string datos, int campo);
string obtener_campo(int campo);
bool eliminar_campo(int campo);
bool encriptar_archivo();
bool desencriptar_archivo();
};


Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

ivancea96

Sea o no sea este el error, en C++ los campos de las clases se inicializan en los constructores, ya sea llamando a los constructores de los campos, o inicializándolos en el código del constructor.

Kaxperday

#2
Hola, no siempre es necesario declarar un constructor, puedo ponerlo o no, no creo que sea el fallo, de todas formas toca la moral, porque sigue fallando. Además se alternan el "error interno de compilador" con "Error   3   error LNK1136: archivo no válido o dañado", no sé todo lo que sea declarar una clase de tipo almacén hace saltar uno de esos errores, quizás tenga que reestructurarla entera, o crear nuevo proyecto..  :( :(

Saludos.

Edito: Odio cuando estás programando y te salen errores de estos de ** y te ** el día.

Edito: JAJAJA he podido flipar, lo he declarado como puntero a clase y compila, según leí entre otras cosas era que podía superar la memoria asignada para la aplicación y por eso saltaba el error, no sé si ponerlo como puntero tendrá que ver pero ha compilado (aunque no quiero poner un puntero XD).

Edito: hehe no funciona el puntero.

Edicion final de delicatese: Ya lo solucioné, el problema estaba al declarar la string con los 4 delimitadores, creé otra clase y fui añadiendo cosas hasta que ví donde saltaba el error, ahora tengo un vector<string> delimitadores, y hago pushback en el constructor.

Saludos.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.