#include <cstdint>
#include <array>
template <typename T, std::size_t N>
T (*as_raw_array(std::array<T, N>& a)) [N]
{
return reinterpret_cast<T(*)[N]>(a.data());
}
void func(const char* param[][3]) {}
class MyClass
{
public:
MyClass() : bar{nullptr, nullptr, nullptr} {}
void foo() { func(as_raw_array(bar)); }
private:
std::array<const char*, 3> bar;
};
int main()
{
return 0;
}
I2luY2x1ZGUgPGNzdGRpbnQ+CiNpbmNsdWRlIDxhcnJheT4KCnRlbXBsYXRlIDx0eXBlbmFtZSBULCBzdGQ6OnNpemVfdCBOPgpUICgqYXNfcmF3X2FycmF5KHN0ZDo6YXJyYXk8VCwgTj4mIGEpKSBbTl0KewogICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8VCgqKVtOXT4oYS5kYXRhKCkpOwp9Cgp2b2lkIGZ1bmMoY29uc3QgY2hhciogcGFyYW1bXVszXSkge30KCmNsYXNzIE15Q2xhc3MKewpwdWJsaWM6CiAgICBNeUNsYXNzKCkgOiBiYXJ7bnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cn0ge30KCiAgICB2b2lkIGZvbygpIHsgZnVuYyhhc19yYXdfYXJyYXkoYmFyKSk7IH0KcHJpdmF0ZToKICAgIHN0ZDo6YXJyYXk8Y29uc3QgY2hhciosIDM+IGJhcjsKfTsKCmludCBtYWluKCkKewoJcmV0dXJuIDA7Cn0K