The error message of gcc 4.9.2 is:
could not convert from '<brace-enclosed initializer list>' to 'std::vector<std::pair<float, float> >'
of this code:
vector<pair<GLfloat, GLfloat>> LightOneColorsPairVec {{0.5f, 0.5f, 0.5f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f}};
The code is compiled with 'std=c++11' compiler flag.
First of all because std::pair
doesn't have constructor that takes a std::initializer_list
. Secondly because std::pair
is a pair , it only have two values, not four.
As Joachim Pileborg pointed out pairs are not similar to vectors, so I converted the code to this:
vector<vector<vector<GLfloat>>> LightColorsVec {{{0.5f, 0.5f, 0.5f, 1.0f}, {0.0f, 0.0f, 1.0f, 1.0f}}};
And it works for multiple light sources now.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.