编译此程序时,-Wconversion
GCC 参数会从标题中产生警告:
#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
?