On 2007-05-11 14:45,
wrote:
> On May 11, 1:14 pm, Keith Halligan <keith.halli...@gmail.com> wrote:
>> On May 11, 12:57 pm, andrewmor...@aol.com wrote:
>>
>>
>>
>>
>>
>> > Hello,
>>
>> > I've got a VC++ project containing multiple classes and a main
>> > function. In one of the class functions, it reads from a text file and
>> > places the data into a vector;
>> > //
>> > std::vector<std::vector<std::string> > applications (50,
>> > std::vector<std::string>(12));
>> > applications[colArr][0] = "Test1";
>> > applications[colArr][1] = "Test2";
>> > //
>> > Which works fine for that classes function, however, I need for other
>> > functions of the class, or potentially other classes to be able to
>> > access the applications vector, most likely done through friend-ing
>> > and inheritance.
>> > I seem to be unable to get the applications vector to be publicly or
>> > even privately declared inside the main class definition. I've tried
>> > placing the vector definition in both sections, it causes
>> > error C2059: syntax error : 'constant'
>> > when I do.
>> > Is there something I'm missing with this?
>>
>> > Thanks,
>> > - Andy
>>
>> > -- Copy of UpdateFileArray.h ---
>> > #ifndef _UPDATEFILEARRAY_H_
>> > #define _UPDATEFILEARRAY_H_
>>
>> > #include <string>
>> > #include <vector>
>>
>> > class UpdateFileArray
>> > {
>> > std::vector<std::vector<std::string> > applications (50,
>> > std::vector<std::string>(12));
>> > public:
>> > void UpdateArray();
>> > void ArrayLookUp();
>> > friend class SearchVehicle;};
>>
>> > extern UpdateFileArray UFA;
>>
>> > #endif
>>
>> Have a function in the vectors class to return a reference to the
>> vector.
>>
>> One question though, why are you defining a vector of vector of
>> strings? Surely if you're just reading from a text file, a vector of
>> std::strings will be more than sufficent.- Hide quoted text -
>>
>> - Show quoted text -
>
> Hm, I'm a bit puzzled, what do you mean, return a reference to the
> vector?
Something like this:
class UpdateFileArray
{
typedef Apps std::vector<std::vector<std::string> >;
Apps applications (50, std::vector<std::string>(12));
public:
void UpdateArray();
void ArrayLookUp();
Apps& getArray() { return applications; }
const Apps& getArray() { return applications; }
friend class SearchVehicle;
};
--
Erik Wikström