我使用别人的函数,有:参考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