-2
、すべてうまくいきます。 Capitanへのアップグレード後、openmpiは使用できなくなるので(なぜ私はそれが世界で使えないのかわかりません)、私はMPICHに切り替える必要があります。私のMacをアップグレードする前に、ブーストとマックのアップグレードに関するC++のエラー
試みがなどブーストMPI、シリアライズ、同じプログラムをコンパイルするとき、私はエラーだ:
./common.h:67:23: error: expected expression
ar & t.get<0>();
^
任意の助けを?ありがとうございました。
編集:tは実際に続く...それは他のクラスタと私の前unungradedのMacで動作するような完全なコードは直列化から発信...
namespace boost { namespace serialization {
template<typename Archive, typename T1>
void serialize(Archive & ar,
boost::tuple<T1> & t,
const unsigned int)
{
ar & t.get<0>();
}
template<typename Archive, typename T1,typename T2>
void serialize(Archive & ar,
boost::tuple<T1,T2> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
}
template<typename Archive, typename T1,typename T2,typename T3>
void serialize(Archive & ar,
boost::tuple<T1, T2, T3> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
ar & t.get<2>();
}
template<typename Archive, typename T1,typename T2,typename T3 ,typename T4>
void serialize(Archive & ar,
boost::tuple<T1, T2, T3 ,T4> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
ar & t.get<2>();
ar & t.get<3>();
}
template<typename Archive, typename T1,typename T2,typename T3 ,typename T4,typename T5>
void serialize(Archive & ar,
boost::tuple<T1, T2, T3 ,T4, T5> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
ar & t.get<2>();
ar & t.get<3>();
ar & t.get<4>();
}
template<typename Archive, typename T1,typename T2,typename T3 ,typename T4,typename T5,typename T6 >
void serialize(Archive & ar,
boost::tuple<T1, T2, T3 ,T4, T5, T6> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
ar & t.get<2>();
ar & t.get<3>();
ar & t.get<4>();
ar & t.get<5>();
}
template<typename Archive, typename T1,typename T2,typename T3 ,typename T4,typename T5,typename T6 ,typename T7>
void serialize(Archive & ar,
boost::tuple<T1, T2, T3 ,T4, T5, T6 ,T7> & t,
const unsigned int)
{
ar & t.get<0>();
ar & t.get<1>();
ar & t.get<2>();
ar & t.get<3>();
ar & t.get<4>();
ar & t.get<5>();
ar & t.get<6>();
}
}}
を 'T'が何であるか任意のアイデアを?もし本当に助けてください。 – user4581301
't'は従属型なので、' t.template get <0>() 'が必要です。 – aschepler