vector的引用无效?修改不了成员变量的vector解决办法
vector的引用无效?修改不了成员变量的vector
vector的引用无效?修改不了成员变量的vector,求解决方法。
------解决方案--------------------
vector<string > &c = b.getVec();
vector的引用无效?修改不了成员变量的vector,求解决方法。
- C/C++ code
#include <iostream> #include<vector> #include<string> using namespace std; class A { public: vector<string> & getVec(){return mA;} void print(){ for(vector<string>::iterator i= mA.begin(); i!=mA.end(); ++i) { cout<<*i<<" "; } } private: vector<string > mA; }; int main() { A b; vector<string > c = b.getVec(); c.push_back("as"); c.push_back("a"); for(vector<string>::iterator i= c.begin(); i!=c.end(); ++i) { cout<<*i<<" "; } b.print(); return 0; }
------解决方案--------------------
vector<string > &c = b.getVec();