February 26, 2003
The program below causes "internal error: exp2 898".
All is well with "static" added to the first line in main.


template<class T>
class myclass {
    T data;
    static int si;
public:
    int getsi() {return si;}
};

int main() {
    int myclass<int>::si= 0;
    myclass<int> mci;
    int j= mci.getsi();
}



February 27, 2003
In article <b3jel3$6qh$1@digitaldaemon.com>, Steve Strand says...
>
>The program below causes "internal error: exp2 898".
>All is well with "static" added to the first line in main.
>

template<class T>
class myclass {
T data;
static int si;
public:
int getsi() {return si;}
};

int myclass<int>::si= 0;

int main() {
myclass<int> mci;
int j= mci.getsi();
}

myclass<int>::si should be defined at file scope.

Richard