tengo definida una clase de la siguiente forma:
Código:
y la función load de la siguiente forma:
#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);
};
Código:
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?
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]);
}
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?


