1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include <limits> #include <cstdlib> void bitvec_func() { const std::size_t nbits = 1e7; typedef unsigned char vec_t; const std::size_t WLEN = std::numeric_limits<vec_t>::digits; const std::size_t VSIZ = nbits/WLEN+1; static vec_t bitVec[nbits/VSIZ]; // Compiles fine } template <typename T> void bitvec_func() { const std::size_t nbits = 1e7; typedef T vec_t; const std::size_t WLEN = std::numeric_limits<vec_t>::digits; const std::size_t VSIZ = nbits/WLEN+1; static vec_t bitVec[nbits/VSIZ]; // "error: storage size of ‘bitVec’ isn’t constant" } void flarf() { bitvec_func(); bitvec_func<unsigned char>(); } int main() { flarf(); } |
I2luY2x1ZGUgPGxpbWl0cz4KI2luY2x1ZGUgPGNzdGRsaWI+CiAKdm9pZCBiaXR2ZWNfZnVuYygpCnsKICAgIGNvbnN0IHN0ZDo6c2l6ZV90ICAgICAgIG5iaXRzID0gMWU3OwogICAgdHlwZWRlZiB1bnNpZ25lZCBjaGFyICAgdmVjX3Q7CiAgICBjb25zdCBzdGQ6OnNpemVfdCAgICAgICBXTEVOICA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dmVjX3Q+OjpkaWdpdHM7CiAgICBjb25zdCBzdGQ6OnNpemVfdCAgICAgICBWU0laICA9IG5iaXRzL1dMRU4rMTsKICAgIHN0YXRpYyB2ZWNfdCAgICAgICAgICAgIGJpdFZlY1tuYml0cy9WU0laXTsgICAgLy8gQ29tcGlsZXMgZmluZQp9CiAKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgYml0dmVjX2Z1bmMoKQp7CiAgICBjb25zdCBzdGQ6OnNpemVfdCAgICAgICBuYml0cyA9IDFlNzsKICAgIHR5cGVkZWYgVCAgICAgICAgICAgICAgIHZlY190OwogICAgY29uc3Qgc3RkOjpzaXplX3QgICAgICAgV0xFTiAgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHZlY190Pjo6ZGlnaXRzOwogICAgY29uc3Qgc3RkOjpzaXplX3QgICAgICAgVlNJWiAgPSBuYml0cy9XTEVOKzE7CiAgICBzdGF0aWMgdmVjX3QgICAgICAgICAgICBiaXRWZWNbbmJpdHMvVlNJWl07ICAgIC8vICJlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGJpdFZlY+KAmSBpc27igJl0IGNvbnN0YW50Igp9Cgp2b2lkIGZsYXJmKCkKewoJYml0dmVjX2Z1bmMoKTsKICAgICAgICBiaXR2ZWNfZnVuYzx1bnNpZ25lZCBjaGFyPigpOwp9CiAKaW50IG1haW4oKQp7CiAgICAgICBmbGFyZigpOwp9
-
upload with new input
-
result: Success time: 0.01s memory: 2720 kB returned value: 0


