gpt4 book ai didi

c++ - 对 STL vector 类型的引用

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:13 26 4
gpt4 key购买 nike

我正在使用其他人的功能:

optimise(std::vector<double> &input)

它编辑输入。

我应该如何将 vector 传递给它,我试过:

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

我如何初始化对 vector 的引用,或者我做错了什么。编辑:

我没有在我的 CMakeLists 中正确链接库。感谢大家的帮助,我希望我能把你们都标记为正确的。

最佳答案

您传递 vector 的第一种方法是正确的。编译器识别出 vector 是通过 header 中的签名通过引用传递给函数的,引用您的 vector ,并将其传递给函数。您看到链接器错误这一事实告诉您编译阶段已成功完成。

存在链接器错误,因为您未能包含实现 optimise 函数的库。

关于c++ - 对 STL vector 类型的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com