Matritzen speichern



  • ich wollte mehrere Matrizen in einem vector speichern , dh. jedes vector_element besteht aus einer matrix. Ich habe es so implementiert:
    std::vector<std::vector<std::vector<int> > > vm; // ein vector aus Matritzen

    also das funzt ohne Fehler aber mit 5 Warnungen z.B.

    --------------------Konfiguration: DAT - Win32 Debug--------------------
    warning C4786: 'std::reverse_iterator<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > > const *,std::vector<std::vector<int,std::
    allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > >,std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > > const &,std::vector<std::vector<int,std::allocator<int> >,std::alloc
    ator<std::vector<int,std::allocator<int> > > > const *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
    c:\programme\microsoft visual studio\vc98\include\vector(39) : Bei der Kompilierung der Member-Funktion '__thiscall std::vector<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > >,std::a
    llocator<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > > > >::std::vector<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > >,std::allo
    cator<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > > > >(const std::allocator<std::vector<std::vector<int,std::allocator<int> >,std::allocator<std::vector<int,std::allocator<int> > > > > &)
    ' der Klassenvorlage

    könnte mir jemand sagen, wie ich die Warnungen vermeiden kann oder vielleicht Alternativen zum Speichern von Matrizen. Das Ziel ist später auf beliebige Matrizen zuzugreifen.

    Vielen Dank



  • #pragma warning (disable: 4786)
    

    sollte dein Problem lösen
    😃

    Nein, das ist eine imho recht unwichtige Meldung. Das bedeutet, dass in den Debug informationen der Typ deiner Matrix nicht korrekt drinsteht, weil er irgendwo abgeschnitten wurde. Wenn du dir keine eigene Matrix Klasse bauen willst, dann nimm das pragma warning (am besten noch vorher prüfen, ob unter MSVC kompiliert wird), damit dich der Compiler damit nicht mehr nervt.



  • godlikebot schrieb:

    Nein, das ist eine imho recht unwichtige Meldung. Das bedeutet, dass in den Debug informationen der Typ deiner Matrix nicht korrekt drinsteht, weil er irgendwo abgeschnitten wurde.

    was heißt hier irgendwo abgeschnitten wurde!!!??

    godlikebot schrieb:

    Wenn du dir keine eigene Matrix Klasse bauen willst,

    ich weiss leider nicht wie das geht 😕
    würde jemand mir eine Matrix Klasse- Beispiel aufschreiben was meinem Bsp. entspricht wie godlikebot meinte.

    Vielen Dank



  • seiko schrieb:

    godlikebot schrieb:

    Nein, das ist eine imho recht unwichtige Meldung. Das bedeutet, dass in den Debug informationen der Typ deiner Matrix nicht korrekt drinsteht, weil er irgendwo abgeschnitten wurde.

    was heißt hier irgendwo abgeschnitten wurde!!!??

    Der VC++ unter Anderem die Typenbezeichnungen der Variablen, die du verwendest mit in die Debug Informationen. Allerdings nur maximal 255 Zeichen. Die Typbezeichnung deines reverse_iterator's ist aber scheinbar länger und wird deswegen nach dem 255. Zeichen abgeschnitten.
    Deswegen ist die Meldung auch nicht weiter schlimm.

    Wenn du dir keine eigene Matrix Klasse bauen willst,

    ich weiss leider nicht wie das geht 😕
    würde jemand mir eine Matrix Klasse- Beispiel aufschreiben was meinem Bsp. entspricht wie godlikebot meinte.

    Im Netz gibt's sicher einige Matrix Klassen. Musst mal suchen.


Anmelden zum Antworten