c++ - return and call dynamic string array -


i created class:

    data::data(char szfilename[max_path]) {      string sin;     int = 1;      ifstream infile;     infile.open(szfilename);     infile.seekg(0,ios::beg);      std::vector<std::string> filerows;     while ( getline(infile,sin ) )     {       filerows.push_back(sin);     } } 

after created this:

std::vector<std::string> data::filecontent(){         return filerows; } 

after call filecontent() somewhere, this:

data name(szfilename); messagebox(hwnd, name.filecontent().at(0).c_str() , "about", mb_ok); 

but doesnt work... how call this?

std::vector<std::string> filerows; while ( getline(infile,sin ) ) {    filerows.push_back(sin); } 

does not work because declare filerows in constructor, once constructor ends filerows destroyed.

what need move filerows declaration outside of constructor , make class member:

class data { ...     std::vector<std::string> filerows; }; 

then shared functions in class.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -