Hi The following problem only occur with VS (ok on linux with gcc, clang icc) Not sure if it is an eigen bug or a VS one. When using boost::mpi serializer the following code is ok: #include <boost/mpi.hpp> #include <boost/mpi/collectives.hpp> boost::mpi::communicator world; ArrayXd t; boost::mpi::packed_iarchive ia(world); ia >> t; This one is still oK #include <boost/mpi.hpp> #include <boost/mpi/collectives.hpp> boost::mpi::communicator world; shared_ptr<vector< double> > t; boost::mpi::packed_iarchive ia(world); ia >> t; But this one #include <boost/mpi.hpp> #include <boost/mpi/collectives.hpp> boost::mpi::communicator world; shared_ptr< ArrayXd > t; boost::mpi::packed_iarchive ia(world); ia >> t; Gives the error : Erreur 1 error C2665: 'Eigen::PlainObjectBase<Eigen::Array<double,-1,1,0,-1,1>>::operator delete' : aucune des 3 surcharges n'a pu convertir tous les types d'arguments The error is very similar to a bug corrected last year : https://forum.kde.org/viewtopic.php?f=74&t=122194 The faillure is the boost_1_58_0\boost/archive/detail/iserializer.hpp and the message // if compilation fails here, the likely cause that the class // T has a class specific new operator but no class specific // delete operator which matches the following signature. Fix // your program to have this. Note that adding operator delete // with only one parameter doesn't seem correct to me since // the standard(3.7.4.2) says " // "If a class T has a member deallocation function named // 'operator delete' with exactly one parameter, then that function // is a usual (non-placement) deallocation function" which I take // to mean that it will call the destructor of type T which we don't // want to do here. // Note: reliance upon automatic conversion from T * to void * here seems to indicate that a delete is missing somewhere. Sincerely yours Xavier Warin
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1034.