如何使此运算符重载工作?

How can I make this operator overload work?

提问人:Daniel Gutimoli 提问时间:1/25/2023 更新时间:1/25/2023 访问量:41

问:

我正在使用 C++,我对这门语言比较陌生。甚至在编译之前,VSCode 就会强调我的转换调用是重载的。我怀疑这是因为类型名称不明确,但这是重载向量所必需的,那么我该如何解决这个问题呢?

template <typename U>
vector<U> operator+(const vector<U>& v1, const vector<U>& v2) {
    vector<U> result(v1.size());
    transform(v1.begin(), v1.end(), v2.begin(), result.begin(), [] (U& a, U& b) {return a + b; });
    return result;
}

我尝试从你更改为 T,或在整个过程中使用向量双精度,但都没有解决问题。

C++ 模板 向量 运算符重载 typename

评论


答: 暂无答案