无法使用初始化列表初始化非聚合

时间:2016-01-14 21:27:47

标签: c++ visual-studio-2012 directx-11

void Triangle::createShaders(Renderer& renderer)
{
    ifstream vsfile("triangleVertexShader.cso", ios::binary);
    ifstream psfile("trianglePixelShader.cso", ios::binary);

    vector<char> vsData = { istreambuf_iterator<char>(vsfile), istreambuf_iterator<char>() };
}

我得到错误C2552:&#39; vsData&#39; :无法使用初始化列表初始化非聚合。

1 个答案:

答案 0 :(得分:1)

由于VS2012不支持C ++ 11初始化列表,因此请使用标准构造函数语法:

vector<char> vsData(istreambuf_iterator<char>(vsfile), istreambuf_iterator<char>());