एक्सएमएल सीरियलाइजेशन के लिए नाम-मूल्य जोड़ी बनाने के लिए BOOST_SERIALIZATION_NVP
मैक्रो का उपयोग करते समय, कंपाइलर खुशी से निम्न कोड को संकलित करने की अनुमति देता है, भले ही तत्व का नाम वैध एक्सएमएल नहीं है तत्व और एक अपवाद फेंक दिया जाता है जब वास्तव में एक्सएमएल में वस्तु को क्रमानुसार करने की कोशिश कर रहा:बूस्ट सीरियलाइजेशन एनवीपी मैक्रो और गैर-एक्सएमएल-एलिमेंट कैरेक्टर
BOOST_SERIALIZATION_NVP(_member[index])
एक स्पष्ट ठीक उपयोग करने के लिए है:
boost::serialization::make_nvp("ValidMemberName", _member[index])
लेकिन किसी को भी बढ़ावा संशोधित करने के लिए एक तरह से सुझाव है कि कर सकते हैं ताकि अवैध तत्व नाम एक compilatio ट्रिगर करेगा एन त्रुटि? (इस प्रकार ऊपर सूक्ष्म बग को पकड़ने के लिए इकाई परीक्षण पर भरोसा नहीं)
संपादित करें:
एक विचार किसी भी तरह तत्व मैक्रो के लिए पारित के नाम के साथ एक डमी स्थानीय चर घोषित करने के लिए है, मानते हैं कि सी ++ में वैध पहचानकर्ताओं का सेट मान्य XML तत्वों का एक सबसेट है। पूरा यकीन नहीं है कि यह किया जा सकता है हालांकि।
यह रनटाइम त्रुटि उत्पन्न करेगा 'क्या(): अमान्य एक्सएमएल टैग नाम' – alfC