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?