class Foo {
public:
template<typename T>
operator T() const { return T(42); }
};
Foo foo;
int main() {
int i = (int) foo; // less evil: static_cast<int>(foo);
}
Y2xhc3MgRm9vIHsKICAgIHB1YmxpYzoKICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICBvcGVyYXRvciBUKCkgY29uc3QgeyByZXR1cm4gVCg0Mik7IH0KfTsKCkZvbyBmb287CgoKaW50IG1haW4oKSB7CiAgaW50IGkgPSAoaW50KSBmb287IC8vIGxlc3MgZXZpbDogc3RhdGljX2Nhc3Q8aW50Pihmb28pOwp9