【发布时间】:2021-01-17 19:14:35
【问题描述】:
我想我很久以前就问过这个问题,但找不到。 我看到这个代码sn-p。
template <
unsigned int N
>
class pyramid_down : noncopyable
{
public:
COMPILE_TIME_ASSERT(N > 0);
template <typename T>
vector<double,2> point_down (
const vector<T,2>& p
) const
{
const double ratio = (N-1.0)/N;
return (p - 0.3)*ratio;
}
vector
【问题讨论】:
-
你从哪里得到的代码?你确定它实际上是
std::vector? -
单靠 sn-p 无法完全解释那里发生了什么。
-
std::vector模板具有指定分配器类型的第二种类型。std::vector<double, 2>无效。你的vector类型,不管它是什么,都是一些与std::vector不同的非标准类型 -
谢谢大家,这是来自dlib.net的dlib::vector
-
@ChanKim 为什么你的模板没有声明
dlib::vector而只是vector?由于没有指定命名空间,您的代码对这些类型的错误敞开了大门。