// { dg-do assemble } // GROUPS passed templates template class Stack { public: Stack (int s = 10); //Comment out "= 10" and it will compile ~Stack(void); //Omitting "void" doesn't help }; template Stack::~Stack(void) { } //If this definition comes before the one for ~Stack, the error message //about redeclaration of `void Stack::~Stack()' will not occur. template Stack::Stack(int s) { } int main () { Stack stk(10); }