Eigen und Boost :: serialisieren

Ich habe versucht, eine generische Serialisierungsfunktion zu schreiben, die jede dichte Matrix annimmt und sie serialisiert: Einige andere Fragen, die aber nicht bis zum Ende helfen, sind hier:Frage 1 Frage 2

Ich habe folgendes ausprobiert, was funktionieren sollte:

namespace boost {
namespace serialization {
    template<class Archive, typename Derived> void serialize(Archive & ar,  Eigen::EigenBase<Derived> & g, const unsigned int version)
    {
        ar & boost::serialization::make_array(g.derived().data(), g.size());
    }
    }; // namespace serialization
}; // namespace boost

Wenn ich versuche, eineEigen::Matrix<double,4,4>

Eigen::Matrix<double,4,4> a; 
boost::serialize(ar, a);

Der Compiler kann irgendwie nicht mit der obigen Vorlage übereinstimmen? Und die folgenden Fehler sind gegeben:

/usr/local/include/boost/serialization/access.hpp|118|error: 'class Eigen :: Matrix' hat kein Mitglied namens 'serialize' |

Antworten auf die Frage(3)

Ihre Antwort auf die Frage