我刚刚发现C++没有给出从pair<double, int>
到pair<int, int>
的投射警告,这有点令人惊讶。下面是我的程序test_pair.cpp
:铸造对的g ++警告选项?
#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 ++为此产生警告,或者它不能完成?
这是什么符号?我不熟悉它:'v.push_back({p});'。 – orlp 2012-03-30 11:51:19
对不起,我试图使用C++ 11功能,我应该删除括号。 – chtlp 2012-03-30 11:52:05