#include <iostream>
using namespace std;
void f(...) {
cout << "That one wasn't a string literal." << endl;
}
template<size_t N>
void f(const char (&s)[N]) {
cout << "String literal: \"" << s << '"' << endl;
}
int main() {
f("foo");
const char *bar = "bar";
f(bar);
const char baz[] = "baz";
f(baz);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnZvaWQgZiguLi4pIHsKCWNvdXQgPDwgIlRoYXQgb25lIHdhc24ndCBhIHN0cmluZyBsaXRlcmFsLiIgPDwgZW5kbDsKfQoKdGVtcGxhdGU8c2l6ZV90IE4+CnZvaWQgZihjb25zdCBjaGFyICgmcylbTl0pIHsKCWNvdXQgPDwgIlN0cmluZyBsaXRlcmFsOiBcIiIgPDwgcyA8PCAnIicgPDwgZW5kbDsKfQoKCmludCBtYWluKCkgewoJZigiZm9vIik7CgkKCWNvbnN0IGNoYXIgKmJhciA9ICJiYXIiOwoJZihiYXIpOwoJCgljb25zdCBjaGFyIGJheltdID0gImJheiI7CglmKGJheik7CgkKCXJldHVybiAwOwp9