別のクラスも継承するベクトルを保持するクラスがあります。
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;
}
いくつかの質問を聞きたいんです:
- ベクトルの呼び方が間違っていますか?
- 私のベクトルは空ですか?
- 他のクラスが参照できるように、ベクターをグローバルにする必要がありますか?
注: 非常に単純な for ループを使用してベクトルをロードするベクトルを出力できました。