无法在模板函数中使用类的静态成员

时间:2018-08-25 15:02:52

标签: c++ templates static

我正在研究link,以了解typename关键字并进行一些实验

以下是代码->

template<typename T>
void foo(T& t) {
    T::i = 6;
}

class A {
public:
    static int i;
    int j;
};

int main() {
    A a;
    foo(a);
}

我收到链接器错误提示

  

对“ A :: i”的未定义引用

如果我做t.j = 6;而不是T :: i = 6 ;,程序会编译并成功运行。

编译器-Linux ubuntu上的g ++ 4.8.4

谢谢

0 个答案:

没有答案