Taille template de chaîne de caractères
Hello,
J'ai un problème "assez" simple que je n'arrive pas à résoudre. J'essaie de sérialiser en XML (avec TinyXML) des chaînes de caractères dont la taille est arbitraire. J'ai donc le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| template<unsigned long Size>
void get_value(const TiXmlElement* node, char text[Size])
{
std::string temp = node->GetText();
strncpy(temp.c_str(), text, Size);
}
template<unsigned long Size>
void set_value(TiXmlElement* node, const char text[Size])
{
TiXmlText* text_node = new TiXmlText(text);
text_node->SetCDATA(true);
node->LinkEndChild(text_node);
} |
La deuxième fonction passe, mais pas la première. En fait, le compilateur (icc 10.1) n'arrive pas à trouver get_value, par exemple avec le code suivant (issu de mes tests unitaires) :
Code:
1 2
| char new_text[16];
SOAPRPC::get_value(pNode, new_text); |
vous avez une idée de mon erreur toute bête ?