#include <iostream>
#include <stdexcept>
class C {
public:
C(const size_t aa, const size_t bb) : a(aa), b(bb) {
if (aa == 0)
throw std::runtime_error("aa must be > 0");
if (bb == 0)
throw std::runtime_error("bb must be > 0");
if ((aa + bb) > 10) {
throw std::runtime_error("aa + bb must be <= 10");
}
}
private:
size_t a;
size_t b;
};
int main() {
C c1(1, 2); // OK
C c2(5, 6); // error
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkZXhjZXB0PgoKY2xhc3MgQyB7CnB1YmxpYzoKCUMoY29uc3Qgc2l6ZV90IGFhLCBjb25zdCBzaXplX3QgYmIpIDogYShhYSksIGIoYmIpIHsKCSAgICBpZiAoYWEgPT0gMCkKICAgIAkgICAgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKCJhYSBtdXN0IGJlID4gMCIpOwogICAgCWlmIChiYiA9PSAwKQogICAgICAgIAl0aHJvdyBzdGQ6OnJ1bnRpbWVfZXJyb3IoImJiIG11c3QgYmUgPiAwIik7CiAgICAJaWYgKChhYSArIGJiKSA+IDEwKSB7CiAgICAgICAgCXRocm93IHN0ZDo6cnVudGltZV9lcnJvcigiYWEgKyBiYiBtdXN0IGJlIDw9IDEwIik7CiAgICAJfQoJfQpwcml2YXRlOgoJc2l6ZV90IGE7CQkKCXNpemVfdCBiOwp9OwoKaW50IG1haW4oKSB7CglDIGMxKDEsIDIpOyAvLyBPSwoJQyBjMig1LCA2KTsgLy8gZXJyb3IKCXJldHVybiAwOwp9