[Bug c++/14891] New: Problems with the initialization of static members of template classes
gabriele dot greco at darts dot it
gcc-bugzilla@gcc.gnu.org
Thu Apr 8 16:33:00 GMT 2004
gcc version 3.4.0 20040331 (prerelease)
Here is the test code, works with gcc 3.3.x or lower:
#include <iostream>
template <typename T>
class A
{
static int val;
public:
typedef A<T> B;
int get() {return val;}
};
class Z: public A<int>
{
public:
void foo() { std::cout << "hello: " << get() << std::endl; }
};
int Z::B::val = 666; // ERROR on GCC 3.4
int main()
{
Z z;
z.foo();
}
--
Summary: Problems with the initialization of static members of
template classes
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gabriele dot greco at darts dot it
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14891
More information about the Gcc-bugs
mailing list