我正在编写一个函数insertPairIntoVector,它将根据对中第二个元素的比较将std :: pair插入到std :: vector中。我的原型看起来像这样:
template <typename T, typename Q>
std::vector<std::pair<T, Q>> sortPairIntoVector(
std::pair<T,Q>, std::vector<std::pair<T, Q>>);
我的函数定义如下所示:
template <typename T, typename Q>
std::vector<std::pair<T, Q>> sortPairIntoVector(
std::pair<T, Q>, std::vector<std::pair<T, Q>>) {
}
但我仍然遇到大量关于模板的模棱两可的错误。关于我做错了什么的任何帮助? 谢谢!
答案 0 :(得分:-5)
当两个“&gt;”字符彼此靠近,它们之间需要一个空格,以便它不被解释为“&gt;&gt;”运营商。完成更改后,原型编译。
#include <iostream>
#include <vector>
#include <iostream>
template <typename T, typename Q>
std::vector<std::pair<T, Q> > sortPairIntoVector(
std::pair<T,Q>, std::vector<std::pair<T, Q> >);
template <typename T, typename Q>
std::vector<std::pair<T, Q> > sortPairIntoVector(
std::pair<T, Q>, std::vector<std::pair<T, Q> >) {
}
int main() {
}