Пишу на MinGW.
Уже несколько раз за последнее время получаю от компилятора (с параметром -Wall) непонятные сообщения.
C:/Program Files/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h: In member function `void std::vector<_Tp, _Alloc>::_M_fill_insert(__gnu_cxx::__normal_iterator<typename _Alloc::pointer, std::vector<_Tp, _Alloc> >, size_t, const _Tp&) [with _Tp = std::vector<int, std::allocator<int> >, _Alloc = std::allocator<std::vector<int, std::allocator<int> > >]':
C:/Program Files/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:/Program Files/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
Получив вот такое в котрый раз решил спросить, знает ди кто-либо чем такое может быть вызванно.
Уже несколько раз за последнее время получаю от компилятора (с параметром -Wall) непонятные сообщения.
C:/Program Files/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_uninitialized.h: In member function `void std::vector<_Tp, _Alloc>::_M_fill_insert(__gnu_cxx::__normal_iterator<typename _Alloc::pointer, std::vector<_Tp, _Alloc> >, size_t, const _Tp&) [with _Tp = std::vector<int, std::allocator<int> >, _Alloc = std::allocator<std::vector<int, std::allocator<int> > >]':
C:/Program Files/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:/Program Files/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
Получив вот такое в котрый раз решил спросить, знает ди кто-либо чем такое может быть вызванно.
Возможно, при этом баг был только в порте под винду (cygwin / mingw).
Таких предупреждений нет в gcc 4.x.
Просто если пытаться игнорировать, то на остальные ворнинги смотреть неудобно. А они могут быть полезны.
vector<vector<int> > g;
int main(){
int n;
scanf("%d",&n);
g.resize(n);
return 0;
}
При переходе с 3.x — из заметного на олимпиадах — разве что убьются операторы <?= и >?=, немного поменяется поведение ворнингов, а также придётся вставить пару инклудов типа <algorithm>, которые раньше подключались автомагически через другие инклуды.