Преобразование в std ::array ::значение _тип из int может изменить его значение

Параметр -WconversionGCC выдает предупреждение из заголовка при компиляции этой программы:

#include <iostream>
#include <array>
#include <string>

int main ()
{
    std::string test = "1";
    std::array<unsigned char, 1> byteArray;

    byteArray[0] = byteArray[0] | test[0];

    return 0;
}

Вот как я его компилирую:g++- -Wall -Wextra -Wconversion -pedantic -std=c++0x test.cppи я использую GCC 4.5.

Я делаю что-то незаконное здесь? Может ли это вызвать проблемы в определенных сценариях? Почему |производит int?

8
задан Mihai Todor 20 August 2012 в 14:22
поделиться