Я только что обнаружил, что C ++ не дает никаких предупреждений для приведения от pair<double, int>
к pair<int, int>
, что немного удивляет. Вот моя программа test_pair.cpp
:
#include <vector>
#include <utility>
using namespace std;
int main()
{
std::vector<pair<int, int> > v;
pair<double, int> p = make_pair(3.8, 3);
v.push_back(p);
}
Я скомпилировал его, используя g++ test_type.cpp -Wall -Wconversion
, но предупреждения пока не генерируются. Я использую g ++ v4.6.1. У кого-нибудь есть идеи, как заставить g ++ генерировать предупреждение для этого, или это просто невозможно сделать?