Foros del Web » Programación para mayores de 30 ;) » C/C++ »

declaracion variable dentro de clase

Estas en el tema de declaracion variable dentro de clase en el foro de C/C++ en Foros del Web. Hola, tengo definida una clase de la siguiente forma: Código: #include <fstream> #include <iostream> #include <vector> #include <string> #include "../rapidxml-1.13/rapidxml_utils.hpp" using namespace rapidxml; #pragma once ...
  #1 (permalink)  
Antiguo 05/05/2019, 14:04
 
Fecha de Ingreso: abril-2012
Mensajes: 7
Antigüedad: 7 años, 2 meses
Puntos: 0
declaracion variable dentro de clase

Hola,

tengo definida una clase de la siguiente forma:
Código:
#include <fstream>
#include <iostream>
#include <vector>
#include <string>
#include "../rapidxml-1.13/rapidxml_utils.hpp"

using namespace rapidxml;

#pragma once

class CInput {

private:

	//xml_document<> doc;	
	//vector<char> buffer; 

public:
	
	// Definition of the function to get the data from InputFile
	void load(char *fullpath);
};
y la función load de la siguiente forma:
Código:
void CInput::load(char *fullpath){

	ifstream file(fullpath);

	/* "Read file into vector<char>" */ 
    vector<char> xml_copy;
	xml_copy.assign((istreambuf_iterator<char>(file)), istreambuf_iterator<char>());
	xml_copy.push_back('\0'); 
	
	xml_document<> doc;
	doc.parse<0>(&xml_copy[0]);

}
La función load debug sin error siempre y cuando declare las variables xml_copy y doc dentro de la función load en lugar de en la clase. ¿Alguien me puede explicar porque?
El problema es que la variable doc la necesito en otras funciones de la clase y como no estan declaradas no funciona bien el programa. ¿Alguna sugerencia?
  #2 (permalink)  
Antiguo 09/05/2019, 05:39
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 730
Antigüedad: 11 años, 1 mes
Puntos: 60
Respuesta: declaracion variable dentro de clase

Que error sale cuando son miembros?
__________________
Visita mi perfil en LinkedIn
  #3 (permalink)  
Antiguo 11/05/2019, 04:11
 
Fecha de Ingreso: abril-2012
Mensajes: 7
Antigüedad: 7 años, 2 meses
Puntos: 0
Respuesta: declaracion variable dentro de clase

Me sale una ventana con el siguiente mensaje:
Cita:
Exception thrown: read access violation.

this was 0xCCCCCCCC.
Si le doy a break en la ventana se para en:
Código:
//xutility:

		// MEMBER FUNCTIONS FOR _Container_base12
inline void _Container_base12::_Orphan_all()
	{	// orphan all iterators
 #if _ITERATOR_DEBUG_LEVEL == 2
	if (_Myproxy != 0)
		{	// proxy allocated, drain it
		_Lockit _Lock(_LOCK_DEBUG);

		for (_Iterator_base12 **_Pnext = &_Myproxy->_Myfirstiter;
			*_Pnext != 0; *_Pnext = (*_Pnext)->_Mynextiter)
			(*_Pnext)->_Myproxy = 0;
		_Myproxy->_Myfirstiter = 0;
		}
 #endif /* _ITERATOR_DEBUG_LEVEL == 2 */
	}



La zona horaria es GMT -6. Ahora son las 18:23.