При компиляции:
#include <vector>
#include <string>
using namespace std;
int main(int, char** ss)
{
vector<string> v;
vector<string> v1;
v = v1;
return (0);
}
Получил следующее:
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h: In member function `std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = std::string, _Alloc = std::allocator<std::string>]':
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:715: warning: '__result' might be used uninitialized in this function
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h:82: warning: '__cur' might be used uninitialized in this function
c:/mingw/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h:82: warning: '__cur' might be used uninitialized in this function
Похоже гцц переживает(
) за оператор равенства... но здесь используются только stl классы.
Все вроде работает, но наличие предупреждений настораживает и раздражает.
Такое наблюдаю только на версии 3.4.5! На 3.2.0 и 4.х.х таких предупреждений нет.
Буду признателен за помощь в разрешении этого вопроса (кто виноват и что делать:)?).