LINUX.ORG.RU

новый компилятор c++4.3


0

0

Что за фигня и как лечить?

$ cat test.cc
#include <vector>
#define n 100
main(){
std::vector<std::vector<double> > a(n,n+1);
}
$ c++ test.cc
/usr/include/c++/4.3/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::_M_initialize_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int, _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >]’:
/usr/include/c++/4.3/bits/stl_vector.h:290: instantiated from ‘std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = int, _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >]’
test.cc:4: instantiated from here
/usr/include/c++/4.3/bits/stl_vector.h:932: ошибка: нет подходящей функции для вызова ‘std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >::_M_fill_initialize(size_t, int&)’
/usr/include/c++/4.3/bits/stl_vector.h:974: замечание: претенденты: void std::vector<_Tp, _Alloc>::_M_fill_initialize(size_t, const _Tp&) [with _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >]

anonymous

>Что за фигня и как лечить?
лечению не поддаётся

dimon555 ★★★★★
()
Ответ на: комментарий от anonymous

+, прошло!

#include <vector>
size_t n=100;
main(){
std::vector<double> vvv(n+1);
std::vector<std::vector<double> > a(n,vvv);
}


Это глюк компилятора?

anonymous
()

Проверено — лечить их невозможно. Об этом ещё С. П. Капица говорил, а он на подобных деятелях собаку съел да здоровье посадил… (c) VSL

jtootf ★★★★★
()
Ответ на: комментарий от anonymous

>Это глюк компилятора?

навряд ли. Скорее всего с каждой новой версией компилятор все более соответствует стандарту :)

anonymous
()
Ответ на: комментарий от anonymous

>Это глюк компилятора?

Похоже это глюк языка. Пиши багрепорт Страуструпу.

anonymous
()

/usr/include/c++/4.3/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::_M_initialize_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int, _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >]’:
/usr/include/c++/4.3/bits/stl_vector.h:290: instantiated from ‘std::vector<_Tp, _Alloc>::vector(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = int, _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >]’
test.cc:4: instantiated from here
/usr/include/c++/4.3/bits/stl_vector.h:932: ошибка: нет подходящей функции для вызова ‘std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >::_M_fill_initialize(size_t, int&)’
/usr/include/c++/4.3/bits/stl_vector.h:974: замечание: претенденты: void std::vector<_Tp, _Alloc>::_M_fill_initialize(size_t, const _Tp&) [with _Tp = std::vector<double, std::allocator<double> >, _Alloc = std::allocator<std::vector<double, std::allocator<double> > >] 

Вот это вот говно здесь, предполагается, будут читать?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.