相关疑难解决方法(0)

如何定义模板类的静态const变量

我正在尝试使用预定义的静态常量为向上,向右和向前创建一个向量类,因为它们在所有情况下应该是相同的.应如何定义,甚至可能?

我正在尝试做这样的事情:

template <class T> class vec3
{
public:
    vec3(T x = 0, T y = 0, T z = 0) :
        x(x),
        y(y),
        z(z)
    {
    }

    static const vec3<T> right;
    static const vec3<T> up;
    static const vec3<T> forward;

    T x, y, z;
}
Run Code Online (Sandbox Code Playgroud)

CPP:

#include "vec3.h"

template <typename T>
const vec3<T>::right(1, 0, 0);

template <typename T>
const vec3<T>::up(0, 1, 0);

template <typename T>
const vec3<T>::forward(0, 0, 1);
Run Code Online (Sandbox Code Playgroud)

这会导致语法错误.

c++ templates const static-members

6
推荐指数
1
解决办法
4900
查看次数

标签 统计

c++ ×1

const ×1

static-members ×1

templates ×1