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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
  char new_text[16];
  SOAPRPC::get_value(pNode, new_text);
vous avez une idée de mon erreur toute bête ?