#include <iostream>
template<int N>
void foo(const int (&)[N]) {
std::cout << "foo(const int (&)[N])\n";
}
void foo(const int *) {
std::cout << "foo(const int *)\n";
}
int main() {
int a[1] = { 0 };
foo(a);
const int b[1] = { 0 };
foo(b);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8aW50IE4+CnZvaWQgZm9vKGNvbnN0IGludCAoJilbTl0pIHsKICAgIHN0ZDo6Y291dCA8PCAiZm9vKGNvbnN0IGludCAoJilbTl0pXG4iOwp9Cgp2b2lkIGZvbyhjb25zdCBpbnQgKikgewogICAgc3RkOjpjb3V0IDw8ICJmb28oY29uc3QgaW50ICopXG4iOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBhWzFdID0geyAwIH07CiAgICBmb28oYSk7CiAgICBjb25zdCBpbnQgYlsxXSA9IHsgMCB9OwogICAgZm9vKGIpOwp9Cgo=