非聚合不能用初始化列表初始化

Non-aggregates cannot be initialized with initializer list

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:'vsData':无法使用初始化程序列表初始化非聚合。

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

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