#include <iostream>
using namespace std;
enum class FooType { Default, Overridden };
template <FooType _FooType = FooType::Overridden>
struct Foo { void foo() { cout << "default" << endl; } };
#if 0
template <>
struct Foo<FooType::Overridden> { void foo() { cout << "overridden" << endl; } };
#endif
int main() {
Foo<>().foo();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKZW51bSBjbGFzcyBGb29UeXBlIHsgRGVmYXVsdCwgT3ZlcnJpZGRlbiB9OwoKdGVtcGxhdGUgPEZvb1R5cGUgX0Zvb1R5cGUgPSBGb29UeXBlOjpPdmVycmlkZGVuPgpzdHJ1Y3QgRm9vIHsgdm9pZCBmb28oKSB7IGNvdXQgPDwgImRlZmF1bHQiIDw8IGVuZGw7IH0gfTsKCiNpZiAwCnRlbXBsYXRlIDw+CnN0cnVjdCBGb288Rm9vVHlwZTo6T3ZlcnJpZGRlbj4geyB2b2lkIGZvbygpIHsgY291dCA8PCAib3ZlcnJpZGRlbiIgPDwgZW5kbDsgfSB9OwojZW5kaWYKCmludCBtYWluKCkgewogICAgRm9vPD4oKS5mb28oKTsKICAgIHJldHVybiAwOwp9