是否可以使用 POD 进行安置?它似乎在 Visual Studio 2012 中不起作用:
struct X
{
int a;
int b;
};
void whatever()
{
std::vector<X> xs;
X x = {1, 2};
// okay
xs.push_back(x);
// okay
xs.emplace_back(x);
//error C2661: 'X::X': error C2661: no overloaded function takes 2 arguments
xs.emplace_back(1, 2);
}
这只是 Visual Studio 2012 的一个缺点,还是在 C++11 中放置 POD 根本不起作用?