0
我想寫一段代碼,我通過引用通過引用傳遞類的構造函數並更新類的成員函數中的向量。但是,當我回到主要功能,沒有更新發生在矢量:通過在構造函數中傳遞更新向量
//頭文件
class A{
private:
std::vector<T> &x;
public:
A(std::vector<T>& x_):x(x_) {}
int func();
};
// cpp文件
int A::func() {
// process done
T temp;
x.push_back(temp);
}
//主要功能
int main() {
std::vector<T> vec;
A a(vec);
a.func();
}
我試過改變向量是類中的指針而不是引用,但向量不會更新後該函數運行。有關如何更改程序的建議?
您是否收到任何編譯器錯誤?另外,你可以發佈構造函數代碼嗎? – taylorc93
函數運行後,我得到沒有錯誤,但矢量的大小爲0。我根本沒有構造函數。 – shunyo
「,但在函數運行後向量不會更新」你怎麼知道的?調試器是否這樣說?還是你寫了一些代碼來檢查? – dyp