下面的代码可以使用Visual Studio 2015成功编译,但使用Visual Studio 2017失败.Visual Studio 2017报告:
错误C2280:"std :: pair :: pair(const std :: pair&)":尝试引用已删除的函数
#include <unordered_map>
#include <memory>
struct Node
{
std::unordered_map<int, std::unique_ptr<int>> map_;
// Uncommenting the following two lines will pass Visual Studio 2017 compilation
//Node(Node&& o) = default;
//Node() = default;
};
int main()
{
std::vector<Node> vec;
Node node;
vec.push_back(std::move(node));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
看起来Visual Studio 2017显式需要移动构造函数声明.是什么原因?
根据此指南,电子应用程序可以发布到 MAC 应用程序商店。Electron 本身基于chromium 和node.js,它们都基于支持JIT 的v8 js 引擎。但据我所知,MAC App Store 不允许 JIT 编译器。那么它如何绕过这个限制呢?