设置静态类

问题描述 投票:0回答:2

我正在尝试写一堂课作为练习,并具有以下内容:

template <class Foo>
class Bar
{
protected:
    Foo _x,_y,_z;
public:
    Bar(Foo x, Foo y, Foo z) {_x=x; _y=y; _z=z;};
    Bar() {_x=0; _y=0; _z=0;};

    static const Bar<Foo> X;
};

我想将X初始化为(0,1,0),但不知道如何执行。我想声明X =(0,1,0)就像在程序开始时声明#define pi = 3.142一样。我应该如何去做?

c++ class templates variable-declaration
2个回答
2
投票

您所做的很好,但是由于没有为X提供任何存储空间,因此可能会出现链接器错误。您需要这样做:


1
投票

从类中删除静态声明:

© www.soinside.com 2019 - 2024. All rights reserved.