#include <iostream>
void printGrid(bool (&a)[10][10])
{
static_assert(10 == sizeof(a) / sizeof(*a), "unexpected size");
for(std::size_t i = 0; i < sizeof(a) / (sizeof(*a)); i++) {
for(std::size_t j = 0; j < sizeof(a) / (sizeof(*a)); j++) {
char x = a[i][j] ? '#' : '?';
std::cout << x;
}
std::cout << std::endl;
}
}
int main()
{
bool grid[10][10];
for(std::size_t i = 0; i < sizeof(grid) / sizeof(*grid); i++) {
for(std::size_t j = 0; j < sizeof(grid) / sizeof(*grid); j++) {
grid[i][j] = true;
}
}
printGrid(grid); // this doesn't work
std::cout << ((grid[0][1]) ? "#" : "?") << std::endl; // this works fine
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBwcmludEdyaWQoYm9vbCAoJmEpWzEwXVsxMF0pCnsKICAgIHN0YXRpY19hc3NlcnQoMTAgPT0gc2l6ZW9mKGEpIC8gc2l6ZW9mKCphKSwgInVuZXhwZWN0ZWQgc2l6ZSIpOwoKICAgIGZvcihzdGQ6OnNpemVfdCBpID0gMDsgaSA8IHNpemVvZihhKSAvIChzaXplb2YoKmEpKTsgaSsrKSB7CiAgICAgICAgZm9yKHN0ZDo6c2l6ZV90IGogPSAwOyBqIDwgc2l6ZW9mKGEpIC8gKHNpemVvZigqYSkpOyBqKyspIHsKICAgICAgICAgICAgY2hhciB4ID0gYVtpXVtqXSA/ICcjJyA6ICc/JzsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8IHg7CiAgICAgICAgfQogICAgICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CiAgICB9Cn0KaW50IG1haW4oKQp7CiAgICBib29sIGdyaWRbMTBdWzEwXTsKICAgIGZvcihzdGQ6OnNpemVfdCBpID0gMDsgaSA8IHNpemVvZihncmlkKSAvIHNpemVvZigqZ3JpZCk7IGkrKykgewogICAgICAgIGZvcihzdGQ6OnNpemVfdCBqID0gMDsgaiA8IHNpemVvZihncmlkKSAvIHNpemVvZigqZ3JpZCk7IGorKykgewoKICAgICAgICAgICAgZ3JpZFtpXVtqXSA9IHRydWU7CiAgICAgICAgfQogICAgfQogICAgcHJpbnRHcmlkKGdyaWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBkb2Vzbid0IHdvcmsKICAgIHN0ZDo6Y291dCA8PCAoKGdyaWRbMF1bMV0pID8gIiMiIDogIj8iKSA8PCBzdGQ6OmVuZGw7IC8vIHRoaXMgd29ya3MgZmluZQp9Cg==