我正嘗試使用clang在舊版RHEL5機器上編譯一些代碼,該機器使用libstdc++4.4.7
。當我使-std=c++0x
標誌,我得到:使用clang編譯失敗,使用libstdC++ 4.4.7和-std = C++ 0x
/usr/lib/gcc/i386-redhat-linux6E/4.4.7/../../../../include/c++/4.4.7/bits/vector.tcc:380:19: error: call to implicitly-deleted copy constructor of
'value_type' (aka 'std::pair<double, double>')
value_type __x_copy = __x;
^ ~~~
/usr/lib/gcc/i386-redhat-linux6E/4.4.7/../../../../include/c++/4.4.7/bits/stl_vector.h:851:9: note: in instantiation of member function
'std::vector<std::pair<double, double>, std::allocator<std::pair<double, double> > >::_M_fill_insert' requested here
{ _M_fill_insert(__position, __n, __x); }
這是我在clang site應用patch(其中固定其他錯誤,但不是這一個)之後。當我禁用-std=c++0x
它工作正常。這聽起來像補丁可能沒有解決所有的問題,這是一個已知的問題,是否有一個已知的修復?
@Zoidberg,謝謝,修正了錯誤 – Shep 2013-02-27 18:58:25