class factory final {
private:
class object final {
public:
int x;
};
public:
inline static std::shared_ptr<object> createObject() { return std::make_shared<object>(); }
};
int main() {
auto item1 = factory::createObject();
std::shared_ptr<factory::object> item2 = factory::createObject();
return std::getchar();
}
Привет.Приведенный выше код не может быть скомпилирован с VS2015, потому что я не могу получить доступ к закрытому члену (объекту класса) фабрики классов.Пока все хорошо, и это имеет много смысла.Мне любопытно, почему работает линия auto .Он разрешает исправить тип и работает как задумано.