我剛剛發現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