#include <map>
#include<iostream>
using namespace std;
class MyClass{
public:
// MyClass(){};
void getData();
MyClass(bool x=0){if (x) MyClass::getData();};
};
void MyClass::getData(){ cout<<"Okey\n: "; }
int main() {
map<string,MyClass> MyBase;
MyBase["Map1"]=(MyClass(true)); //Вот здесь должно сработать MyClass::getData, но даже не скомпилируется
MyBase["Map2"]=(MyClass()); //А здесь типа обычно
return 0;
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGU8aW9zdHJlYW0+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjbGFzcyBNeUNsYXNzewogCnB1YmxpYzoKLy8gICAgTXlDbGFzcygpe307CiAgICB2b2lkIGdldERhdGEoKTsKICAgIE15Q2xhc3MoYm9vbCB4PTApe2lmICh4KSBNeUNsYXNzOjpnZXREYXRhKCk7fTsKfTsKIAp2b2lkIE15Q2xhc3M6OmdldERhdGEoKXsgICBjb3V0PDwiT2tleVxuOiAiOyB9CiAKaW50IG1haW4oKSB7CiAKICAgIG1hcDxzdHJpbmcsTXlDbGFzcz4gTXlCYXNlOwogCiAgICAgICAgTXlCYXNlWyJNYXAxIl09KE15Q2xhc3ModHJ1ZSkpOyAvL9CS0L7RgiDQt9C00LXRgdGMINC00L7Qu9C20L3QviDRgdGA0LDQsdC+0YLQsNGC0YwgIE15Q2xhc3M6OmdldERhdGEsINC90L4g0LTQsNC20LUg0L3QtSDRgdC60L7QvNC/0LjQu9C40YDRg9C10YLRgdGPCiAgICAgICAgTXlCYXNlWyJNYXAyIl09KE15Q2xhc3MoKSk7ICAvL9CQINC30LTQtdGB0Ywg0YLQuNC/0LAg0L7QsdGL0YfQvdC+CiAKICAgIHJldHVybiAwOwp9