#include <iostream>
struct A {};
struct B {
static const char* message;
};
const char* B::message = "Hello, world!";
template <typename T>
void PrintMessage(...) {}
template <typename T>
void PrintMessage(decltype(&T::message)) {
std::cout << T::message << std::endl;
}
int main() {
PrintMessage<A>(nullptr);
PrintMessage<B>(nullptr);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEEge307CgpzdHJ1Y3QgQiB7CiAgICBzdGF0aWMgY29uc3QgY2hhciogbWVzc2FnZTsKfTsKY29uc3QgY2hhciogQjo6bWVzc2FnZSA9ICJIZWxsbywgd29ybGQhIjsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgp2b2lkIFByaW50TWVzc2FnZSguLi4pIHt9Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBQcmludE1lc3NhZ2UoZGVjbHR5cGUoJlQ6Om1lc3NhZ2UpKSB7CiAgICBzdGQ6OmNvdXQgPDwgVDo6bWVzc2FnZSA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkgewogICAgUHJpbnRNZXNzYWdlPEE+KG51bGxwdHIpOwogICAgUHJpbnRNZXNzYWdlPEI+KG51bGxwdHIpOwogICAgcmV0dXJuIDA7Cn0=