-2

別のクラスも継承するベクトルを保持するクラスがあります。

class txtExt : public extention
{
private:
   string  openedFile_;
public:
   vector<string> txtVector; //the vector i want to call
};

クラス内のメソッドにベクトルを入力します。

class Manager : public extention
{
   // there is some other code here that I know does work
   // and it calls this function:
   void organizeExtention(string filename, string ext)
   {
      if(ext == "txt")
      {
         txtExt txtExt;
         txtExt.txtVector.pushback(filename);
      }
   }
}

そして、これは私がベクトルを呼び出そうとする私のメインクラスです:

int main()
{
   // some code here that does previous operations like getting the path
   // and filling the vector


   // I've tried many ways of trying to call the vector
   // here is an example of one:
   vector<txtExt*> testVector;
   for(int i = 0; i < testVector.size(); ++i)
   {
      cout << testVector[i] << endl;
   }
   return 0;
}

いくつかの質問を聞きたいんです:

  1. ベクトルの呼び方が間違っていますか?
  2. 私のベクトルは空ですか?
  3. 他のクラスが参照できるように、ベクターをグローバルにする必要がありますか?

注: 非常に単純な for ループを使用してベクトルをロードするベクトルを出力できました。

4

2 に答える 2