Question: 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.

Answer: 
First of all because [`std::pair`](http://en.cppreference.com/w/cpp/utility/pair) doesn't have [constructor](http://en.cppreference.com/w/cpp/utility/pair/pair) that takes a [`std::initializer_list`](http://en.cppreference.com/w/cpp/utility/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.