我使用別人的函數,有:參考STL向量類型
optimise(std::vector<double> &input)
它編輯輸入。
我應該如何通過一個載體來這個,我曾嘗試:
std::vector<double> input;
input.push_back('several points');
optimise(input);
這有一個鏈接錯誤說:
undefined reference to optimise(std::vector<double, std::allocator<double> >&)
如果我試試這個:
std::vector<double> &input;
input.push_back('several points');
optimise(input);
然後出現編譯錯誤:
'input' declared as reference but not initialised
如何初始化至向量的參考還是我做一些完全錯誤的。 編輯:
我沒有在我的CMakeLists正確鏈接庫。感謝大家的幫助,我希望我能把你們都標記爲正確。
看來你沒有正確鏈接庫或源文件定義此功能。 – netcoder 2012-07-12 01:13:08
你的第一次嘗試是正確的,所以你的問題是'optimise'的可用性,而不是你稱之爲的方式。你能發表你的聲明和'optimise'的定義嗎? – 2012-07-12 01:13:37
這似乎是一個鏈接器錯誤,而不是編譯器錯誤。你能告訴我們更多關於你如何構建你的應用程序嗎?哪個平臺,哪些工具? – MvG 2012-07-12 01:14:34