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?