- 论坛徽章:
- 0
|
本人今天遇到一个问题不明白 希望大家指点一下
就是inline函数的连接问题,问题是这样的
假如把inline函数的声明和定义一起写,形如
inline void ADD_ONE_LINE_XML_STR(const char* szNodeName,const char* szNodeValue,std::string& sXml)
{
char szTmp[1024] = {0};
snprintf(szTmp,sizeof(szTmp),"<%s><![CDATA[%s ]]></%s>\n",szNodeName,szNodeValue,szNodeName);
sXml.append(szTmp);
}
那么使用是不会有问题的,但是假如分开。h和。cpp,把声明和定义分开 当使用并连接这个函数时 就会出现
/usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/../../../../include/g++-3/std/bastring.cc:470: undefined reference to `ADD_ONE_LINE_XML_NUM(char const *, unsigned long, basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> > &)'
这样的问题,应该如何解决?
麻烦大家解答一下 谢谢 |
|