Я вполне удивлен, когда я компилирую следующий код без любого предупреждения с помощью g ++ 4.1.2 с - Стена-Wextra-Wconversion включила.
Я хочу, чтобы g ++ показал мне каждое предупреждение избежать потенциального вреда. Я должен придерживаться g ++ 4.1.2.
#include <stdint.h>
#include <string>
using namespace std;
int main()
{
uint8_t u1=1;
uint64_t u64=1000;
string s1="";
u1=u64; // want warning here
s1=u64; // want warning here
s1=u1;
}
Боюсь, что GCC до 4.3 не поддерживает это. Описание -Wconversion
изменилось между 4.2 и 4.3, чтобы отразить новое поведение предупреждений, и нет никаких указаний на то, что GCC до 4.3 проверял это.