gpt4 book ai didi

c++ - 模板特化站点报告 "too few template-parameter-lists"错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:59 25 4
gpt4 key购买 nike

代码某处有错误,但我不知道如何解决。它说“模板参数列表太少”。我不明白哪个是错误的。

代码如下:

#if !defined(VECTOR_H_INCLUDED)
#define VECTOR_H_INCLUDED

#include <cstdlib> // for size_t

namespace Vec
{
class Vector_base
{
public:
explicit Vector_base() {}
};

template<typename T, int DIM>
class Vector : public Vector_base
{
typedef Vector<T,DIM> ME;

explicit Vector(T,T,T);

double dot(const ME &v) const;

T &operator [](size_t n)
{
return v[n];
}

T operator [](size_t n) const
{
return v[n];
}

private:
T v[DIM];
};

typedef Vector<double,3> Vector3;

double Vector3::dot(const ME &o) const // ----- it gives me the error here ...
{
return v[0] * o[0] + v[1] * o[1] + v[2] * o[2];
}

Vector3::Vector(double x, double y, double z) // ----- ... and here
{
v[0] = x;
v[1] = y;
v[2] = z;
}
}

#endif // VECTOR_H_INCLUDED

我需要更改什么?

最佳答案

你应该使用 template<>在这里进行模板特化。

template<> double Vector3::dot(const ME &o) const 

template<> Vector3::Vector(double x, double y, double z) 

关于c++ - 模板特化站点报告 "too few template-parameter-lists"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884494/

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