Инициализация элемента std :: array <char, x> в конструкторе с использованием строкового литерала. Ошибка GCC?
Следующий пример инициализацииstd::array
член в конструкторе с использованием строкового литералаКомпилируется на GCC 4.8, но компилируется с использованием Clang 3.4.
#include
#include
struct A {
std::array x;
A(std::array arr) : x(arr) {}
};
int main() {
// works with Clang 3.4, error in GCC 4.8.
// It should be the equivalent of "A a ({'b','u','g','\0'});"
A a ({"bug"});
for (std::size_t i = 0; i < a.x.size(); ++i)
std::cout < a.x[i] < '\n';
return 0;
}