voidfoo4(){}// expected-note {{previous definition is here}} expected-note {{previous definition is here}}
voidfoo4(){}// expected-error {{class member cannot be redeclared}} expected-error {{redefinition of 'foo4'}} expected-note {{previous definition is here}}
};
template<classT>
voidB<T>::foo4(){// expected-error {{redefinition of 'foo4'}}
}
template<classT>
voidA<T>::foo2(){
undeclared();
}
template<classT>
voidfoo3(){
undeclared();
}
templatevoidA<int>::foo2();
voidundeclared()
{
}
template<classT>voidfoo5(){}//expected-note {{previous definition is here}}
template<classT>voidfoo5(){}// expected-error {{redefinition of 'foo5'}}