array mit gmp



  • ich hatte schon in den beitrag von LaraM geschrieben (http://www.c-plusplus.net/forum/viewtopic-var-t-is-235471.html),
    ich würde gerne einen vector aus mpq_t (aus gmp) haben.
    (eigentlich einen zweidimensionalen vector, aber eins nach dem anderen)

    wenn ich das hier habe:

    vector<mpq_t>  matr1;
    

    macht er mir folgenden Fehler:

    usr/include/c++/4.3/bits/stl_construct.h: In function ‘void std::_Destroy(_Tp*) [with _Tp = __mpq_struct [1]]’:
    /usr/include/c++/4.3/bits/stl_construct.h:103:   instantiated from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator) [with _ForwardIterator = __mpq_struct (*)[1]]’
    /usr/include/c++/4.3/bits/stl_construct.h:128:   instantiated from ‘void std::_Destroy(_ForwardIterator, _ForwardIterator, std::allocator<_T2>&) [with _ForwardIterator = __mpq_struct (*)[1], _Tp = __mpq_struct [1]]’
    /usr/include/c++/4.3/bits/stl_vector.h:300:   instantiated from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = __mpq_struct [1], _Alloc = std::allocator<__mpq_struct [1]>]’
    ../vec.cpp:48:   instantiated from here
    /usr/include/c++/4.3/bits/stl_construct.h:88: error: request for member ‘~__mpq_struct [1]’ in ‘* __pointer’, which is of non-class type ‘__mpq_struct [1]’
    

    hat jemand schonmal sowas versucht? Oder kann jemand was mit dieser Fehlermeldung besser anfangen?
    Müßte ich mpq_t erst initalisieren mit der precision? Könnte es daran liegen?



  • Warum benutzt du nicht mpq_class?



  • hab grad in der doku geschaut, werd daraus aber nicht richtig schlau.

    wie genau funktioniert das?


Anmelden zum Antworten